gpt4 book ai didi

git - 基于指定的提交对作为公共(public)基础 merge Git 分支

转载 作者:太空狗 更新时间:2023-10-29 13:44:39 25 4
gpt4 key购买 nike

是否可以在 Git 中基于指定的一对提交作为公共(public)基础来 merge 分支?

场景:

两个独立的 Git 存储库,“我们的”和“他们的”。

他们的”是在已知时间点使用“我们的”的工作副本(仅文件)创建的。 “他们的”中的初始提交是添加“我们的”文件的快照。

我们现在要将“他们的” merge 到“我们的”中:

git remote add theirs <their repository path>
git pull theirs <their branch> --allow-unrelated-histories

git merge 将寻找一个共同的祖先作为 merge 的基础。但是,“我们的”和“他们的”之间没有共同的提交。

因为我们可以在“我们的”中找到提交,其中工作副本与“他们的”中的初始提交相匹配,我认为 Git 应该能够明智地开始 merge ,但我们需要指示 Git 将两个特定的提交视为公共(public)基础。

最佳答案

'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>”行,然后保存

您可以在 merge 完成后删除替换。

关于git - 基于指定的提交对作为公共(public)基础 merge Git 分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49630727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com