我在repo A中修改了不同提交中的文件,而我保留了另一个几乎拥有相同文件的repo B.
我想从repo A生成一些补丁,修改一些文件并将它们应用到repo B上。
我该怎么做?
答案 0 :(得分:2)
回答您的主要问题:如果您想使用补丁执行此操作,请在回购A:
git format-patch <starting hash>..<ending hash>
然后,在回购B:
git apply <each patch file generated using the above method>
但是,我要提醒您确保文件非常相似。如果存储库分歧很多,补丁可能会很难正确应用。
第二种方法:根据存储库的相似程度,将repo A添加为repo B的辅助远程可能很有用。这将允许您获取和挑选提交与其他任何上游存储库一样,完全避免使用补丁文件。
这看起来像是:
git remote add repoA <path to repo A>
git fetch repoA
git cherry-pick <relevant commits in repo A>
此:
也就是说,添加第二个遥控器会有很多不必要的开销,例如下载大量不必要的历史记录,因此您可能会发现补丁更适合您的问题。