这个提交是哪个分支?

时间:2013-08-22 15:29:27

标签: git branch

我怎么知道特定提交ID被提交到哪个分支?仅运行git show abc123不会显示提交的分支。

3 个答案:

答案 0 :(得分:4)

找出当前存储库中的哪个分支包含给定的提交尝试:

git branch --contains <commit>

正如梅加尔所指出的那样,git不会将 branches 作为一等公民跟踪:它们可能会被重命名,删除,重新创建;所以答案可能没有你想要的那样有意义,例如:它不一定会为您提供最初编写提交的分支 - 而是获取提交当前所属的(本地)分支。

答案 1 :(得分:1)

可能能够通过检查附加到合并提交的消息来判断,但是,Git不会明确地跟踪它。你不是要知道提交的是什么分支,因为它无关紧要;树枝是临时物品,它们的重量很轻,一旦你完成它们就会消失。此外,提交的分支通常不是它结束的分支。在重新定位,挤压和快速合并之后,“原始”分支的想法最终将完全没有意义,或者在最坏情况下完全混淆。

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

答案 2 :(得分:1)

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