2014-03-07 48 views
0

我修改了一个文件在不同的提交在回购A,而我保持另一个回购B几乎有相同的文件。如何挑选一些提交来生成补丁?

我想生成一个回购一些补丁用于修改某些文件,并将它们应用到回购B.

我怎么能这样做?

回答

2

回答您的主要问题:如果你想做到这一点使用补丁,在回购答:

git format-patch <starting hash>..<ending hash> 

然后,在回购B:

git apply <each patch file generated using the above method> 

我想提醒你但请确保文件非常相似。如果存储库分散很多,修补程序可能会很难正确应用。

第二条本办法:根据资料库的相似程度,它可能是有益的你回购一个添加为回购B.二级远程这将允许您获取和摘樱桃承诺就如同使用任何其他上游存储库并完全避免补丁文件。

这将如下所示:

git remote add repoA <path to repo A> 
git fetch repoA 
git cherry-pick <relevant commits in repo A> 

此:

  • 再添回购A作为第二远程。
  • 获取回购A的提交历史。
  • Cherry将相关提交选择到您当前的存储库。

这就是说,存在添加第二个遥控器,如下载了很多不必要的历史了很多不必要的开销,所以你可能会发现补丁适合你的问题更好。