git am和git apply有什么区别?
 git am和git apply都可以用来应用补丁。 我看不出有什么不同。 我现在看到了一个区别: git am自动提交,而git apply只git apply触及文件但不创build提交。 这是唯一的区别吗? 
input和输出都不同:
-   git apply需要一个补丁(比如git diff的输出)并将其应用到工作目录(或者索引,如果使用--index或--cached)。
-   git am需要格式化为电子邮件的提交邮箱(例如git format-patch的输出),并将它们应用到当前分支。
  git am使用git apply在幕后应用 ,但是在阅读Maildir或者mbox以及parsing电子邮件之前和之后(创build提交)之前做更多的工作。 
  git apply于直接git diff (例如,从git diff ),而git am则是用于从电子邮件(无论是mbox还是Maildir格式)应用补丁和补丁序列,并且是git format-patch的“反面”。  git am试图从电子邮件中提取提交消息和作者的详细信息,这就是为什么它可以提交。 
 使用git am你可以应用这个补丁,所以如果你使用git status你将不会看到任何本地的变化。 
  git apply可以让你在源代码文件中进行更改,就像你自己编写代码一样,因此git status和git diff会输出你应用的补丁中所做的更改,然后你可以修改/添加更多的修改并提交他们在一起作为一个新的补丁。