我没有看到“git format-patch”和“git diff”的输出有什么区别,有什么区别吗?我是否能够使用“git diff”生成补丁,然后使用 git apply 应用它?
我的问题是我已将更改添加到索引中,但显然 git format-patch 只接受提交,因此如果我可以使用 diff 的输出,那么我可以使用此命令为索引中的更改生成补丁:
git diff --cached > index.patch
使用创建的补丁git format-patch
还将包括一些有关提交的元信息(提交者、日期、提交消息……),并将包含二进制数据的差异。所有内容都将被格式化为邮件,以便可以轻松发送。接收它的人可以使用以下命令重新创建相应的提交git am
所有元数据都将完好无损。它也可以与git apply
因为它是简单 diff 的超集。
一个补丁包含git diff
将是与上下文的简单差异(认为diff -u
)。它也可以与git apply
但元数据不会被重新创建(因为它们不存在)。
总之,git format-patch
对于传输提交很有用,而git diff
对于获取两棵树之间的差异很有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)