是什么混帐上午和git应用之间的区别?(What is the difference between

2019-06-27 17:20发布

这两个git amgit apply可以用来应用补丁。 我看不出区别。 我现在看到了区别: git am自动提交,而git apply仅接触文件,但不创建一个承诺。 这是唯一的区别?

Answer 1:

输入和输出是不同的:

  • git apply需要补丁(例如输出git diff ),并且它适用于工作目录(或索引,如果--index--cached被使用)。
  • git am需要格式化为电子邮件提交的邮箱(如输出git format-patch ),并将其应用到当前分支。

git am使用git apply在幕后 ,但(阅读前做更多的工作Maildirmbox ,并解析电子邮件)和(创建提交)之后。



Answer 2:

git apply是用于将直diff文件(例如,从git diff ),而git am是用于从电子邮件应用补丁和补丁的序列,这可MBOX或Maildir的格式,它是的“相反” git format-patchgit am尝试提取提交信息和作者信息从电子邮件这就是为什么它可以使提交。



Answer 3:

随着git am应用了修补程序,所以如果你使用git status ,你将不会看到任何地方的变化。

git apply使您可以修改的源文件,如果你正在写自己的代码,因此git statusgit diff将输出在补丁所做的更改您已经应用,那么你就可以修复/添加更多的变化,并提交他们一起为一个新的补丁。



文章来源: What is the difference between git am and git apply?
标签: git patch