Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git diff命令与#x27;diff-b';和';吉特差异';_Git_Diff_Patch_Git Diff_Git Apply - Fatal编程技术网

Git diff命令与#x27;diff-b';和';吉特差异';

Git diff命令与#x27;diff-b';和';吉特差异';,git,diff,patch,git-diff,git-apply,Git,Diff,Patch,Git Diff,Git Apply,我一直使用diff-b来制作补丁,即使在处理git repo时也是如此 两者之间的区别是什么,git-diff/git-format-patch是否也在内部使用linux/unixdiff命令?(我知道git-diff/git格式补丁之间的区别) 另外,使用patch-p1进行修补与使用git-apply进行修补有何不同。我可以应用由diff命令(diff-b)生成的修补程序并使用git diff应用吗 使用git时,使用git diff/apply是否是一种良好的做法?我一直在使用diff/p

我一直使用
diff-b
来制作补丁,即使在处理
git repo
时也是如此

  • 两者之间的区别是什么,
    git-diff/git-format-patch
    是否也在内部使用linux/unix
    diff
    命令?(我知道git-diff/git格式补丁之间的区别)
  • 另外,使用
    patch-p1
    进行修补与使用
    git-apply
    进行修补有何不同。我可以应用由
    diff
    命令(
    diff-b
    )生成的修补程序并使用
    git diff
    应用吗
  • 使用
    git
    时,使用
    git diff/apply
    是否是一种良好的做法?我一直在使用
    diff/patch
    ,从未遇到过任何问题
  • 如果我对上述内容了解不足,请纠正。

    顺序:

  • Git有自己的内置diff,但如果选择正确,两者的输出非常相似。使用内置的diff和
    git-diff
    前端可以实现大量的自动化,而且输出总是
    git-apply
    git-am
    喜欢的东西。简而言之,它只是方便多了

  • 我做过类似的事情(fed
    git diff
    输出到
    patch
    ,或者纯
    diff
    输出到
    git apply
    )。它是有效的,虽然偶尔我不得不在这里和那里编辑一些东西来让它工作,这是一种痛苦。如果我想
    git-apply
    git-am
    补丁,只需获得一个
    git-diff
    就方便多了。一般来说,
    git-apply
    在默认情况下不会执行部分应用:您必须添加
    --reject
    ,使其与补丁的默认设置类似。(还有,所有那些
    .orig
    文件…)

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


  • 谢谢你,托瑞克!说得好。顺便说一句,我已经做了mix-n-match的事情:不用
    git-apply--reject
    ,只需使用
    patch
    来应用。有时,大功率电动螺丝刀看起来像是矫枉过正,我用的是手动螺丝刀。:-)跨站点复制也可以看到我的答案