git show-branch没有输出完整的修订历史记录?

时间:2010-06-27 05:31:25

标签: git

我无法弄清楚为什么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

1 个答案:

答案 0 :(得分:2)

git log相比,git show-branch仅显示:

  • 分支HEAD*'和non-HEAD:'!'与HEAD有关系)
  • 从链接到HEAD的分支提交(在“--”下面):
    • '*'从HEAD分支
    • 提交
    • '+'提交non-HEAD分支
    • 来自*+分支的
    • 'non-HEAD'提交也是HEAD分支的一部分
    • '-'合并提交

及其提交),而不是所有提交。

第二个示例看起来像初始git log这一事实只意味着第二个show-branch中显示的提交链接到HEAD分支,使它们接近经典提交图(哪个git log产生)