跟踪分支的历史记录

时间:2011-09-28 04:00:22

标签: git

如何查看特定分支的历史记录?

我一直在创建和合并分支机构。但是,在一个特定的分支上说例如new_feature。我想知道已经合并到这个分支的历史,以及它是从哪个分支创建的?

原因是我有这个new_feature分支,我想知道其他分支被合并到哪个分支,以及new_feature的分支是什么?

我对使用任何GUI工具并不感兴趣,可能是命令行上的一些工具。 我正在使用Git版本1.7.5.4和Ubuntu 11.10。

3 个答案:

答案 0 :(得分:3)

您只能看到与git log --merges的合并提交。只要你没有弄乱你的合并提交消息,你就会看到你合并了哪些分支。 (如果您不想使用HEAD作为起点,请提交commit / branch / tag作为参数。)使用其他选项根据您的喜好调整输出 - 请参阅手册页。您可能希望--oneline(一行提交摘要)或甚至--pretty=%s(仅打印提交主题)。您可能也喜欢--first-parent,它只遵循合并的第一个父项,阻止它报告来自合并分支的提交。

知道分支启动的分支有点棘手 - 这不是真正记录的信息。您可能会发现它是git reflog <branch>输出中的第一个(底部)条目,如果它已经足够了。

答案 1 :(得分:2)

我经常使用tig,这是Git的文本模式存储库浏览器。但是,Git附带的gitk程序对于查看存储库历史记录也很有用,因为有时分支之间的线条会变得非常复杂,并且在GUI工具中更容易看到。

对于低级别历史记录,git reflog命令将显示导致当前(或指定)分支头移动的所有操作。

答案 2 :(得分:1)

git log --oneline --graph --all可以为您提供您想要的内容,而无需使用第三方工具。

  • --oneline使提交仅显示在一行上,而不是更长的默认格式。
  • --graph显示带有ASCII字符的分支/合并历史记录。
  • --all显示历史记录中的所有分支,而不仅仅是当前分支。