Git:为什么我看不到提交树的另一个“分支”?

时间:2012-06-26 01:12:19

标签: git

我在引号中说“分支”因为我的意思是数据结构中的分支,图形拓扑意义,而不是git分支,它类似于特定提交的句柄。

我在掌握,我创建了一个新的分支,我通过编辑一个早期的提交做了一个提交:(字母顺序=按时间顺序,基本上我发现bug最初是在提交C中引入的)

A -- B -- C -- D <-- master
      \
       E <-- bugfix_branch

我在master分支上,我查看gitk中的小树图,但它没有显示我提交E.同样,如果我签出bugfix_branch分支并查看它在列表中只显示提交A,B和E(所以我看不到C或D)。

我想查看我对整个git历史的更全面的看法,而不必首先推送到bitbucket或github尝试查看那里的图表。是否有某种方式来查看所有提交并查看哪些提交是其中的子项?

3 个答案:

答案 0 :(得分:5)

因为您需要使用gitk --allgitk仅显示当前分支。

答案 1 :(得分:4)

  

我在主分支上,我看着gitk中的小树图

您需要使用--all启动gitk。例如,来自bash:

gitk --all

来自the documentation

  

- 所有

     

显示所有分支。

答案 2 :(得分:2)

这是我在终端中使用所有节点获得漂亮打印树的方法。

log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative --all

你可以将它添加到你的.gitconfig文件中,我在“〜/ .gitconfig”中有这个:

[alias]
    lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative

让我这样做:

git lg --all

(免责声明我修改了其他来源的代码,但我不记得在哪里......)