Git 系列教程(13)- 分支管理
查看分支列表
$ git branch iss53 * master testing
- 注意
master
分支前的*
字符:它代表现在 checkout 的那一个分支(也就是说,当前HEAD
指针所指向的分支) - 这意味着如果在这时候提交,
master
分支将会随着新的工作向前移动
查看每一个分支的最后一次提交
$ git branch -v iss53 93b412c fix javascript issue * master 7a98805 Merge branch 'iss53' testing 782fd34 add scott to the author list in the readmes
--merged
查看已合并的分支
$ git branch --merged
iss53
* master
- 因为之前已经合并了
iss53
分支,所以现在看到它在列表中 - 在这个列表中分支名字前没有
*
号的分支通常可以使用git branch -d
删除掉,因为已经将它们的工作整合到了另一个分支,所以并不会失去任何东西
查看所有包含未合并工作的分支
$ git branch --no-merged
testing
它包含了还未合并的工作,尝试使用 git branch -d
命令删除它时会失败:
$ git branch -d testing error: The branch 'testing' is not fully merged. If you are sure you want to delete it, run 'git branch -D testing'.
如果真的想要删除分支并丢掉那些工作,可以使用 -D
选项强制删除它
重点
- 上面描述的选项
--merged
和--no-merged
在没有指定提交或分支名作为参数时,分别列出已合并或未合并到 当前 分支的分支。 - 可以指定分支,来查看它的合并状态而不必 checkout 它们
如:尚未合并到 master
分支的有哪些?
$ git checkout testing $ git branch --no-merged master topicA featureB