如何查看特定分支的历史记录?
我一直在创建和合并分支机构。但是,在一个特定的分支上说例如new_feature
。我想知道已经合并到这个分支的历史,以及它是从哪个分支创建的?
原因是我有这个new_feature
分支,我想知道其他分支被合并到哪个分支,以及new_feature
的分支是什么?
我对使用任何GUI工具并不感兴趣,可能是命令行上的一些工具。 我正在使用Git版本1.7.5.4和Ubuntu 11.10。
答案 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
显示历史记录中的所有分支,而不仅仅是当前分支。