假装我从我的主分支分支到主题分支,然后我在我的主题分支上做了一些提交。是否有一个命令告诉我主分支上的提交哈希来自我的主题分支?
理想情况下,我不必知道我做了多少次提交(试图避免使用HEAD ^ 5)。
我用谷歌搜索过,似乎无法找到答案。谢谢!
答案 0 :(得分:63)
您可以使用git reflog show --no-abbrev <branch name>
。它将输出对分支所做的所有更改,包括它的创建,例如(我从xxx
分支创建了分支master
):
bdbf21b087de5aa2e78a7d793e035d8bd9ec9629 xxx@{0}: branch: Created from master
请注意,这不太可靠,因为reflog记录可能会过期(默认情况下为90天),似乎没有100%可靠的方法来执行此操作。
答案 1 :(得分:43)
使用git merge-base master your-branch
找到两个分支(通常是分支点)之间的最佳共同祖先。
答案 2 :(得分:0)
执行此操作的唯一100%可靠的方法是在创建分支时标记分支的开始。如果您将提交合并到新分支的分支,则接受的答案将不起作用。例如,如果您要创建一个稳定的发行分支,并希望将在发行测试期间找到的修订重新合并回master,则有时可以这样做。一件常见的事情。如果您知道您永远不会将提交从新分支合并回原始分支,那么接受的答案将起作用。