git - git am 和 git apply 有什么区别?

标签 git patch

git amgit apply 都可以用来打补丁。我看不出有什么区别。我现在看到了一个区别:git am 自动提交,而 git apply 只接触文件但不创建提交。这是唯一的区别吗?

最佳答案

输入输出不同:

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

git am uses git apply behind the scenes ,但在(读取 Maildirmbox,以及解析电子邮件)之前和之后(创建提交)做更多的工作。

关于git - git am 和 git apply 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12240154/

相关文章:

linux - 如何将 git .diff 文件 merge 到源代码?

mercurial - 使用 tortoiseHg 为 Mercurial 存储库导入具有冲突更改的补丁

git - 无法从 bitbucket 管道 yml 脚本中 check out git 分支

git - 在不克隆远程的情况下获取远程存储库中 HEAD 指向的分支名称

Wix - 取代补丁不做任何事情

matlab - 在 Matlab 中使用 patch 绘制多个 3D 矩形

git - 我的 git 分支在 Sourcetree 中显示 'origin/master' 和 'origin/HEAD',我不知道如何 merge 两者

git - 如何交互式(可视化)解决 SourceTree/git 中的冲突

git - git [master +2 ~1 -0 !] 是什么意思?

c - 如何给源文件打补丁