常用 Git 命令
Git 命令能在整个开发工作流程中为您节省时间。本参考页面包含常用任务的常用命令,如代码更改、分支管理和历史记录查看。每个命令部分都提供了确切的语法、实用示例以及指向附加文档的链接。
git add
使用 git add 将文件添加到暂存区。
git add <file_path>您可以使用 git add . 递归暂存当前工作目录的更改,或使用 git add --all 暂存 Git 仓库中的所有更改。
更多信息,请参阅 将文件添加到您的分支。
git blame
使用 git blame 查看哪些用户更改了文件的哪些部分。
git blame <file_name>您可以使用 git blame -L <line_start>, <line_end> 检查特定的行范围。
更多信息,请参阅 Git 文件 blame。
示例
要查看最近修改了 example.txt 第五行的用户:
$ git blame -L 5, 5 example.txt
123abc (Zhang Wei 2021-07-04 12:23:04 +0000 5)git bisect
使用 git bisect 通过二分查找来引入错误的提交。
首先确定一个 “bad”(包含错误)的提交和一个 “good”(不包含错误)的提交。
git bisect start
git bisect bad # 当前版本是坏的
git bisect good v2.6.13-rc2 # v2.6.13-rc2 已知是好的git bisect 然后会选择两个提交之间的一个提交,并要求您使用 git bisect good 或 git bisect bad 来标识该提交是 “good” 还是 “bad”。重复此过程直到找到提交。
git checkout
使用 git checkout 切换到特定分支。
git checkout <branch_name>要创建新分支并切换到该分支,请使用 git checkout -b <branch_name>。
更多信息,请参阅 为您的更改创建 Git 分支。
git clone
使用 git clone 复制现有的 Git 仓库。
git clone <repository>更多信息,请参阅 将 Git 仓库克隆到您的本地计算机。
git commit
使用 git commit 将暂存的更改提交到仓库。
git commit -m "<commit_message>"如果提交消息包含空行,第一行将成为提交主题,其余部分将成为提交正文。使用主题简要总结更改,使用提交正文提供详细信息。
更多信息,请参阅 暂存、提交和推送更改。
git commit --amend
使用 git commit --amend 修改最近的提交。
git commit --amendgit diff
使用 git diff 查看本地未暂存的更改与您克隆或拉取的最新版本之间的差异。
git diff您可以显示本地更改与分支最新版本之间的差异(或 diff)。在将更改提交到分支之前,查看 diff 以了解您的本地更改。
要将您的更改与特定分支进行比较,请运行:
git diff <branch>在输出中:
- 添加的行以加号 (
+) 开头,并以绿色显示。 - 删除或更改的行以减号 (
-) 开头,并以红色显示。
git init
使用 git init 初始化目录,使 Git 将其跟踪为仓库。
git init一个包含配置和日志文件的 .git 文件被添加到目录中。您不应直接编辑 .git 文件。
默认分支设置为 main。您可以使用 git branch -m <branch_name> 更改默认分支的名称,或使用 git init -b <branch_name> 进行初始化。
git pull
使用 git pull 获取自您上次克隆或拉取项目以来用户所做的所有更改。
git pull <optional_remote> <branch_name>git push
使用 git push 更新远程引用。
git push更多信息,请参阅 暂存、提交和推送更改。
git reflog
使用 git reflog 显示 Git 引用日志的更改列表。
git reflog默认情况下,git reflog 显示 HEAD 的更改列表。
更多信息,请参阅 撤销更改。
git remote add
使用 git remote add 告诉 Git GitLab 中的哪个远程仓库链接到本地目录。
git remote add <remote_name> <repository_url>当您克隆仓库时,默认情况下源仓库与远程名称 origin 相关联。
有关配置其他远程仓库的更多信息,请参阅 Forks。
git log
使用 git log 按时间顺序显示提交列表。
git loggit show
使用 git show 显示 Git 中对象的信息。
示例
要查看 HEAD 指向的提交:
$ git show HEAD
commit ab123c (HEAD -> main, origin/main, origin/HEAD)git merge
使用 git merge 将一个分支的更改与另一个分支合并。
有关 git merge 的替代方案的更多信息,请参阅 变基以解决合并冲突。
示例
将 feature_branch 中的更改应用到 target_branch:
git checkout target_branch
git merge feature_branchgit rebase
使用 git rebase 重写分支的提交历史。
git rebase <branch_name>您可以使用 git rebase 解决合并冲突。
在大多数情况下,您希望基于默认分支进行变基。
git reset
使用 git reset 撤销提交并回滚提交历史,从更早的提交继续。
git reset更多信息,请参阅 撤销更改。
git status
使用 git status 显示工作目录和暂存文件的状态。
git status当您添加、更改或删除文件时,Git 可以向您显示这些更改。