是否可以根据指定的提交对将
Git中的分支合并为公共基础?
场景:
两个独立的Git存储库,“我们的”和“他们的”.
‘他们’是在已知的时间点使用来自’我们’的工作副本(仅限文件)创建的. ‘他们’中的初始提交是添加’我们’文件的快照.
我们现在想将’他们’合并到’我们的’中:
git remote add theirs <their repository path>
git pull theirs <their branch> --allow-unrelated-histories
git merge将寻找一个基于合并的共同祖先.但是,“我们的”和“他们的”之间没有共同的承诺.
因为我们可以在“我们的”中找到工作副本与’他们’中的初始提交相匹配的提交,我认为Git应该能够明智地开始合并,但是我们需要指示Git处理这两个特定的作为共同基础.
最佳答案
‘Theirs’ was created using the working copy (files only) from ‘ours’ at a known point in time. The initial commit in ‘theirs’ is adding a snapshot of ‘our’ files.
也许,在您的情况下,最好的选择是将伪替换的替换添加到相应的“我们的”提交中:
git replace --edit <THEIRS_INIT>
添加“parent< OURS_COMMIT>”行到标题,然后保存
合并完成后,您可以删除替换.