2013-08-22 36 views
2

我该如何知道特定的提交ID被提交给哪个分支?仅仅运行git show abc123不会显示哪个分支已经提交。这个提交哪个分支?

+0

@CarlNorum肯定似乎不是这个问题的重复。差远了。 – meagar

+0

看起来和我完全一样。我认为你的回答假定问题中不存在“第一”。 –

+0

这个问题接近另一个问题,虽然用例不同。它可以作为一个愚蠢的关闭。谢谢。 – dotancohen

回答

4

找出哪些分支机构在当前的存储库包含一个指定的提交尝试:

git branch --contains <commit> 

为meagar指出,Git并不跟踪分支作为一等公民:他们可能会改名,删除,重新创建;所以答案可能不像你希望的那样有意义,例如,它不一定会给你提交最初编写的分支 - 而是你得到提交当前所属的(本地)分支。

1

可能能够通过检查附加到合并提交的消息来告诉,但是,Git没有明确地跟踪它。你并不是想知道一个提交的是什么分支,因为它并不重要;分支是临时性的物体,它们意味着重量轻,而且一旦完成它们就应该消失。此外,一个提交的分支通常不是它所支持的分支。在重塑,挤压和快速合并之后,“原始”分支的想法最终会变得毫无意义,或者在最坏的情况下彻底混淆。

您可以担心它,并对日志文件执行一些取证,但更好的解决方案是接受在“原始”分支上进行提交并不重要。您的提交消息应该表达您需要了解提交的所有内容。

1

如果您不介意使用GUI工具:只需拨打gitk --all,它会列出每次提交的所有分支。

相关问题