diff命令'diff -b'和'git diff'之间的区别

时间:2014-03-13 19:05:07

标签: git diff patch git-diff git-apply

即使在处理diff -b时,我也始终使用git repo制作补丁。

  1. 两者之间有什么区别,git diff / git format-patch内部是否也使用了linux / unix diff命令? (我知道git diff/git format-patch
  2. 之间的区别
  3. 此外,如何修补patch -p1git apply不同。我可以应用diff命令生成的补丁(diff -b)并使用git diff申请吗?
  4. 使用git diff/apply时使用git是一种好习惯吗?我一直在使用diff/patch并且从未遇到任何问题。
  5. 如果我对上述事情的了解不充分,请纠正我。

1 个答案:

答案 0 :(得分:5)

按顺序:

  1. Git有自己的内置差异,但两者的输出非常相似,给出了正确的选项。使用内置差异和git diff前端可以获得大量自动化功能,而输出始终是git applygit am所希望的。简而言之,它只是方便

  2. 我已完成此类操作(将git diff输出到patch,或将diff输出到git apply)。它有效,虽然偶尔我不得不在这里和那里编辑东西以使它工作,这是一个痛苦。如果我想要git diffgit apply补丁,那么获得git am会更加方便。一般来说,最大的可观察差异是git apply默认情况下不会部分应用:您必须添加--reject才能使其像默认情况一样。 (另外,所有.orig个文件......)

  3. 是的,因为说的方便。当您进一步使用git format-patchgit am时,您可以批量应用一系列补丁,维护提交消息(包括作者信息等),并自动提交所有内容。