【发布时间】:2017-11-16 09:21:06
【问题描述】:
最近在用
git checkout dev_branch -b merge_branch
git rebase -m merge_branch master
git checkout master
git rebase merge_branch
做一个合并变基。如帮助文档所示,merge_branch 首先重置为 master 的 HEAD,然后将原始 dev_branch 中的新提交一一回放到新分支。
几天后,我想找到这个 rebase 合并的“起点”在哪里。我可以使用
在 dev_branch 中找到第一个增量提交git merge-base master dev_branch // Get an SHA_root of the common ancestor
git log --reverse -1 <SHA_root>..dev_branch // Get an SHA_delta of the first delta commit
但我找不到找到合并版本的方法
git branch --contains <SHA_delta>
但是发现它只在“dev_branch”中,而不在“master_branch”中,虽然实际上它已经被合并了。
换句话说,具有不同父级的相同提交(例如使用cherry-pick的情况)具有不同的SHA。有没有办法 git 可以识别它们实际上是相同的?
【问题讨论】:
标签: git merge rebase cherry-pick