git branch 高级用法
新建一个分支并且使分支指向指定的提交对象
使用命令:git branch branchname commitHash。
我们现在本地库中只有一个 master 分支,并且在 master 分支有三个提交历史。
需求:创建一个 testing 分支,并且testing 分支指向 master 分支第二个版本。
# 1.查看提交历史记录 $ git log --graph --oneline * b97ccfd (HEAD -> master) 第3次提交,新增内容:branch test v3 * f72a9fe 第2次提交,新增内容:branch test v2 * fa2439a 第1次提交,新增readme.txt文件 # 2.创建testing分支 $ git branch testing f72a9fe # 3.查看提交历史记录,此时我们还在master分支上 $ git log --graph --oneline * b97ccfd (HEAD -> master) 第3次提交,新增内容:branch test v3 * f72a9fe (testing) 第2次提交,新增内容:branch test v2 * fa2439a 第1次提交,新增readme.txt文件 # 4.切换到testing分支 $ git checkout testing Switched to branch 'testing' $ git log --graph --oneline * f72a9fe (HEAD -> testing) 第2次提交,新增内容:branch test v2 * fa2439a 第1次提交,新增readme.txt文件 # 5.再来查看readme.txt文件内容 $ cat readme.txt branch test v1 branch test v2
如上,我们看到新创建的 testing 分支,创建在master分支的第二个版本上了。
HEAD指针的移动状态如下图:
执行git branch testing f72a9fe命令,创建testing 分支后:

执行git checkout testing命令,切换分之后:

git checkout -b branchname commit-Hash
相当于:
git branch branchname commitHash
git checkout branchname
git branch -vv
命令 `git branch -vv` 会列出所有本地分支及其跟踪信息和最新提交信息。它显示每个本地分支跟踪的远程分支(如果有的话),并指明该本地分支是领先、落后还是与跟踪的远程分支发生了分歧。
命令格式
git branch -vv
此命令将显示当前仓库中所有分支的详细信息,如下所示:
* master ac609b2 [origin/master] Commit message
branch1 81575e8 [origin/branch1] Commit message
branch2 d16e5f3 [origin/branch2] Commit message
以上示例显示了当前仓库中的三个分支:master、branch1和branch2。其中带有”*”标记的是当前所在的分支。括号中的内容表示对应的远程分支。
查看某个分支的详细信息
$ git branch -vv branch1
此命令将只显示指定分支(branch1)的详细信息,如下所示:
branch1 81575e8 [origin/branch1] Commit message
`git branch -vv` 输出状态
* master ac609b2 [origin/master] Commit message
branch1 81575e8 [origin/branch1: behind 20] Commit message
branch2 d16e5f3 [origin/branch2: behind 29] Commit message
输出状态包括:
- behind:表示该分支落后于其跟踪的远程分支,未包含远程分支上的一些提交。
- ahead:表示该本地分支有一些提交未推送到远程分支。
- diverged:表示该本地分支和远程分支都有各自的新提交,相互之间不同步。
这些状态帮助你了解本地分支与远程分支的同步情况。
git branch -vv -r
命令 `git branch -vv -r` 用于列出 Git 仓库中的所有远程分支,并显示它们的跟踪信息。以下是各部分的含义:
- `-v`: 显示每个分支的最新提交。
- `-r`: 只显示远程分支。
- `-vv`: 提供详细输出,包括每个分支的跟踪信息。
这个命令有助于你了解有哪些远程分支及其相对于本地分支的状态。

浙公网安备 33010602011771号