Git 如何选择一些提交以生成修补程序?

Git 如何选择一些提交以生成修补程序?,git,repository,commit,patch,Git,Repository,Commit,Patch,我在一个repo a中的不同提交中修改一个文件,而在另一个repo B中保留一个几乎具有相同文件的文件 我想从RepoA生成一些补丁,修改一些文件并将它们应用到RepoB 我怎样才能做到这一点?回答您的主要问题:如果您想使用修补程序做到这一点,请参见回购协议: git format-patch <starting hash>..<ending hash> git格式修补程序。。 然后,关于回购协议B: git apply <each patch file gen

我在一个repo a中的不同提交中修改一个文件,而在另一个repo B中保留一个几乎具有相同文件的文件

我想从RepoA生成一些补丁,修改一些文件并将它们应用到RepoB


我怎样才能做到这一点?

回答您的主要问题:如果您想使用修补程序做到这一点,请参见回购协议:

git format-patch <starting hash>..<ending hash>
git格式修补程序。。
然后,关于回购协议B:

git apply <each patch file generated using the above method>
git应用
不过,我要提醒你确保这些文件非常相似。如果存储库存在很大分歧,那么正确应用补丁可能是一件痛苦的事情

第二种方法:根据存储库的相似程度,将repo A添加为repo B的辅助远程可能会很有用。这将允许您像处理任何其他上游存储库一样获取和选择提交,并完全避免修补文件

这看起来像:

git remote add repoA <path to repo A>
git fetch repoA
git cherry-pick <relevant commits in repo A>
git远程添加repoA
吉特取回报告
吉特樱桃采摘
这:

  • 将Repo A添加为第二个远程服务器
  • 获取回购A的提交历史记录
  • Cherry选择对当前存储库的相关提交
也就是说,在添加第二个远程设备时会有很多不必要的开销,例如下载大量不必要的历史记录,因此您可能会发现补丁更适合您的问题