我无法弄清楚为什么git show-branch没有给我同样的完整历史,git log --graph显示了我。为什么会出现以下差异?
$ git log --graph --oneline --date-order
* 786c9bd Merge branch 'master' into testbr
|\
* | dda9989 ch2 to couch
* | 05d0851 chg 1 to couch
| * 3df86c2 change 1 to tv
| * 900ad58 added tv
|/
* 76352a8 mess
$ git show-branch
! [master] change 1 to tv
* [testbr] Merge branch 'master' into testbr
--
- [testbr] Merge branch 'master' into testbr
+* [master] change 1 to tv
此外,如果我创建一个新分支(见下文),那么git show-branch会给出我期望的输出。
$ git branch foo testbr~3
$ git show-branch
! [foo] mess
! [master] change 1 to tv
* [testbr] Merge branch 'master' into testbr
---
- [testbr] Merge branch 'master' into testbr
+* [master] change 1 to tv
+* [master^] added tv
* [testbr^] ch2 to couch
* [testbr~2] chg 1 to couch
++* [foo] mess
答案 0 :(得分:2)
与git log
相比,git show-branch
仅显示:
HEAD
即*
'和non-HEAD
:'!
'与HEAD有关系)--
”下面):
*
'从HEAD
分支+
'提交non-HEAD
分支*+
分支的non-HEAD
'提交也是HEAD
分支的一部分-
'合并提交及其提交),而不是所有提交。
第二个示例看起来像初始git log
这一事实只意味着第二个show-branch中显示的提交链接到HEAD
分支,使它们接近经典提交图(哪个git log产生)