在GitKraken中,我们从一个分支报告另一个引用相同的提交。
问题:如果我们使用CTRL + F进行搜索,则很难检测到提交位于哪个分支。
是否可以通过提交来知道分支的名称?
答案 0 :(得分:4)
答案 1 :(得分:2)
对于提交$commit
,找到恰好指向它的分支:
git for-each-ref refs/heads --format="%(refname:lstrip=2)" --points-at $commit
并找到可从中访问的分支
git for-each-ref refs/heads --format="%(refname:lstrip=2)" --contains $commit
答案 2 :(得分:1)
简而言之:不。
正如@RomainValeri在他的评论中所说:提交不“属于”任何分支。分支不过是指向提交的指针。可能有一百个分支可以到达一个提交,或者可能没有一个。
@MohammadAnsari建议的git命令git branch --contains <commit>
将向您显示可从其进行提交的所有分支的列表。
关于GitKraken:您的问题没有立即解决的方法。如果提交在图表的下方,则很难确定它导致了哪个祖先提交。此外,没有git branch --contains <commit>
做(或我不知道)的GitKraken命令。
也许您应该过分考虑具有相同名称的提交,或者重新考虑您的分支策略。您有几个长期分支机构吗?如果所有分支都将针对单个master
收敛,那么这个问题将是微不足道的。
答案 3 :(得分:0)
如果知道提交ID,则可以找到它。 使用“ ctrl + f”,它将打开“搜索提交”对话框,您需要在其中输入提交ID。 按Enter键后,树形图将导航至该提交,您可以直观地看到其放置在哪个分支上。
答案 4 :(得分:0)