每个 QA 工程师都应该学习的重要 Git 命令

2024-04-23   出处: medium  作/译者:Bhushan Trivedi/Yilia

本文深入探讨了Git的基础知识,这是一个强大的版本控制系统,旨在跟踪代码更改并促进开发者之间的协作。通过概述基本命令,本文旨在为QA专业人员和开发者提供必要的技能,以有效管理GitHub仓库。无论您是初学者还是老手,这本综合指南都提供了宝贵的见解,帮助您掌握日常高效存储库管理所需的核心命令。

让我们一步一步地掌握所有命令。

1. 设置 Git 中的用户名

要在 Git 中设你的用户名,你可以使用 git config​ 命令,并使用​ --global ​​标志设置一个全局配置,该配置适用于系统上的所有仓库。以下是操作步骤:

  1. 计算机上打开一个终端或命令提示符
  2. 使用以下命令设置您的用户名:

git config - global user. name "Your Name"

将 “Your Name” 替换为您期望的 Git 用户名。

在 Git 中设置用户名对于在推送提交时识别你对仓库的贡献至关重要。这有助于其他协作者和像 GitHub 这样的服务准确归属你的更改。

你还可以使用 git config​ 命令更改与你的 git 提交相关联的电子邮件地址。

git config --global user.email "john.doe@ymail.com"

2. 设置仓库

初始化一个 Git 仓库涉及在当前工作目录中创建一个 .git 子目录。该子目录包含了仓库的所有关键 Git 元数据,包括对象、引用和模板文件的目录,无论是全新的仓库还是对现有仓库的重新初始化。

git init

3.添加文件到暂存区

git add​ 命令将工作目录中新的或更改的文件添加到 Git 暂存区域。

3.1 将特定文件添加到暂存区

git add file1.ts

3.2 添加所有文件:

git add .

4. 仓库状态检查

当你执行 git status ​​命令时,可以深入了解工作目录和暂存区域的当前状态。 此命令提供了哪些更改已暂存、哪些尚未暂存的全面概述,并且还突出显示存储库中任何未跟踪的文件。

git status

5. 在仓库中创建当前更改的快照

记录对仓库的更改。此命令用于将更改保存到本地存储库中。

  • 使用 -m 选项添加提交消息
  • 使用 -a 选项将所有文件添加到提交中
  • 使用 —amend 选项重新编写最后一次提交,包括当前已暂存的更改或新的提交消息

git commit -m "Commit message" git commit --amend git commit --amend -m "New message"

6. 查看 Git 的跟踪历史

Git 用户可以通过在​ git log ​​命令中添加一些选项来以更高级的方式查看 Git 的跟踪历史。

git log

此外,还可以限制日志输出的提交次数:

git log -5

该命令各部分的含义如下:

  • git log​:该命令用于查看存储库的提交历史记录。
  • -5​:此选项将输出限制为最近的五次提交。 你可以将 5 替换为任意数字以查看不同数量的提交。
    当你运行 git log -5​ 时,Git 将显示有关存储库中最近五个提交的信息。 其中包括每次提交的提交 ID(SHA-1 哈希)、作者、日期和提交消息等详细信息。

以下是输出的示例:

git log --after="yesterday" --before="2024-04-03"
git log --author="john doe"
git log -- file1.ts
git log -S "fix"
commit abcd1234
Author: John Doe <john@example.com>
Date:   Thu Mar 24 12:00:00 2024 +0100

    Added new feature XYZ

commit efgh5678
Author: Jane Smith <jane@example.com>
Date:   Wed Mar 23 11:00:00 2024 +0100

s    Fixed bug in component ABC

...s

7. 显示变化

git diff ​​显示提交、提交和工作树之间的更改。

git diff

指定文件名以显示对其文件正在进行的更改:

git diff file1.ts

显示分支master和develop之间的变化:

git diff main..new_feature

8. 文件重命名

要重命名文件或目录,可以使用 mv​ 命令,并提供源路径和目标路径。 源路径指的是当前文件或目录,而目标路径表示文件或目录将被移动和重命名到的现有目录。

git mv directory/file1.ts directory

9. 创建分支

分支作为开发的不同路径,允许在不同的功能或修复上进行并行进展。

它提供了一个简化的工作流程,用于编辑、暂存和提交更改。通过使用 git branch ​​命令,你可以进行各种分支操作,包括创建、列出、重命名和删除。

git branch branch_name

另外,你可以将一些键传递给 gitbranch 命令:
  • gitbranch -m <branch>​ 重命名当前分支。
  • gitbranch -d <branch>​ 在本地删除分支。
  • git push origin --delete <branch> ​​将更改推送到远程,通知删除分支到远程原始存储库(需要与上一个命令一起使用)
  • gitbranch -a​ 显示所有分支的列表。

10. 撤消文件更改

git Restore ​​命令有助于取消暂存甚至丢弃未提交的本地更改。 该命令可用于撤消 git add 和取消之前添加的更改的影响,也可用于丢弃文件中的本地更改,从而恢复其上次提交的状态。

git restore newFile.ts git restore --staged index.ts

11. 使用远程命令

git Remote ​​管理一组跟踪的远程存储库。
显示所有远程连接的列表:

git remote -v

要更改远程 URL:

git remote set-url <url> new_url

要重命名当前连接,可以使用以下命令:

git remote rename <old_name> new_name

删除连接:

git remote remove <remote_name>

12. 将更改保存到剪贴板

git stash ​​将更改存储在脏工作目录中。 此命令获取未提交的更改(暂存的和未暂存的),并将它们保存起来以供以后使用。

git stash

可以在命令中添加几个键:

  • git stash​ 来存储跟踪的文件。
  • git stash -u ​​隐藏未跟踪的文件。
  • git stash -a​ 存储所有文件(包括忽略的文件)。
    stash 命令将你的更改保存到某种更改列表中,你只需使用以下命令即可访问它:

git stash list

此外,你可以将消息添加到存储中,并使用 git stash save "message"​ 命令对其进行注释:

git stash save "some comment"

此外,它还支持查看存储差异:

git stash show

要应用存储保存的更改(它将应用存储列表中的最后一个存储):

git stash apply

并能够清除所有存储:

git stash clear

13. 标记

git tag​ 存储库历史记录中特定于标签的点。

git tag v1.1

要访问标签列表,请使用​ git tag -l​。 要删除,只需传递特定的密钥​ git tag -d v1.0​。 要列出远程标签:git ls-remote --tags​。 要重新标记(重命名现有标签),只需使用强制键发送:​ git tag -f v1 v1.1​ ,在这种情况下,我们用新的 v.1.1 重命名 v1

14. 获取最新的远程更改

要获取本地的最新更改,有 2 个 git 命令:git pull ​​和 git fetch​。 它们之间的主要区别在于​ git fetch ​​将下载远程内容,但不会更新本地存储库的工作状态,从而使当前的工作保持不变。 可以使用带有​ --prune ​​键的 git fetch ​​命令,这是清理过时分支的最佳工具。 在获取之前,请删除远程上不再存在的所有远程跟踪引用。 相反,git pull ​​将下载活动本地分支的远程内容并立即执行合并到文件中。 git pull ​​还可以与 rebase 通用键一起使用:​ git pull -r ​​来拉取和 rebase

15. 撤消最后一次提交

在 git 中,有两种方法可以撤消最后的更改:git revert ​​和 git Reset​。 git revert​ 命令创建一个新的提交,撤消先前提交的更改。 此命令向项目添加新的历史记录。 git reset ​​用于撤消工作目录中尚未提交的更改。 重置命令可以与参数​ --soft​、--mixed​、--hard ​​一起使用。 默认情况下,git 使用带有 --mixedkey​ 的重置(取消提交 + 未暂存的更改)。 开发人员经常使用的是​ --hard​ 选项(取消提交 + 取消暂存 + 删除更改)。 当传递​ --hard ​​时,提交历史记录引用指针将更新到指定的提交。--soft ​​是一个更准确的方法,如果您想取消提交更改,那么此时更改将保留在暂存区。

例如,在 git 上将文件硬重置为 HEAD:

git reset --hard HEAD

16. 在提交或分支之间切换

使用 git checkout​ 命令。 你可以通过将branch_name/commit_sha​传递给git checkout​命令来在提交和分支之间切换。 另外,你可以使用 checkout 命令创建一个新的不存在的分支,它将创建一个新分支并打开它:

git checkout -b new_branch

要检查某些提交,其中 5939518 是提交的 SHA(哈希值):

git checkout 5939518

17. 显示谁对所选文件进行了更改

git Blame ​​命令用于此目的。 主要目的是显示所选文件的日志,显示谁以及何时对此文件进行了更改。

git blame somefile.js

它将显示对此文件所做的提交、作者、日期和提交消息的列表。 可以通过传递一些键来使用此命令,例如 -e 来显示日志中作者的电子邮件地址,-L 1-7 来限制和仅显示 7 个输出行。​ gitblame ​​和 git log ​​之间的主要区别在于,blame 可以告诉你谁是最后一个修改每一行代码的人以及何时修改。


声明:本文为本站编辑转载,文章版权归原作者所有。文章内容为作者个人观点,本站只提供转载参考(依行业惯例严格标明出处和作译者),目的在于传递更多专业信息,普惠测试相关从业者,开源分享,推动行业交流和进步。 如涉及作品内容、版权和其它问题,请原作者及时与本站联系(QQ:1017718740),我们将第一时间进行处理。本站拥有对此声明的最终解释权!欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,与我们的编辑和其他窝友交流。
175° /1755 人阅读/0 条评论 发表评论

登录 后发表评论