我想检索作为补丁的提交列表,然后尝试将它们应用到另一个存储库,在该存储库中我存储了一个非常接近的项目,该项目与我想要检索补丁的项目相距甚远:我如何在一个命令中检索所有的补丁? git format-patch 和 git log -p 之间的最佳方法(以及区别)是什么?
最佳答案
git log -p
以相反的时间顺序向您显示更改(最近的在前)。这通常不利于生成补丁,因为您希望从最早的更改而不是最近的更改开始打补丁。
git format-patch
以正确的方向生成补丁(补丁 0001
将是最早的更改),它保存补丁一个提交每个文件和将它们格式化为适合在接收方使用 git am
的电子邮件消息。
因此对于您想要的,在一个存储库上运行 git format-patch
然后在目标存储库上运行 git am
可能是最有意义的:
cat *.patch | git am
关于Git 格式补丁与 git log -p,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14375938/