git diff 与 git apply

 

 

diff 和 patch 的区别

Git 提供了两种补丁方案,一种是通过 git diff 生成的 .diff 文件,第二种是通过 git format-patch 生成的 .patch 文件。

通过 git diff 生成的文件不含有 commit 信息,可以指定文件生成 diff,也可以指定单个 commit, 多个 commit 生成 。通过 git format-patch 生成的 .patch 文件 含有 commmit 信息。一个 commit 对应一个 patch 文件。

在开发当中,有时候,我们需要进行代码迁移,这时候就可以使用补丁,方便又快捷

 

git diff > test.patch

 

应用patch:

先检查patch文件:

git apply --stat xxx.patch

 

检查能否应用成功

git apply --check xxx.patch

 

合并diff

git apply xxx.patch 

 

================================================

 

 

https://git-scm.com/book/zh/v2/%E5%88%86%E5%B8%83%E5%BC%8F-Git-%E7%BB%B4%E6%8A%A4%E9%A1%B9%E7%9B%AE

使用 am 命令应用补丁

如果补丁的贡献者也是一个 Git 用户,并且其能熟练使用 format-patch 命令来生成补丁,这样的话你的工作会变得更加轻松,因为这种补丁中包含了作者信息和提交信息供你参考。 如果可能的话,请鼓励贡献者使用 format-patch 而不是 diff 来为你生成补丁。 而只有对老式的补丁,你才必须使用 git apply 命令。

 

 

 

参考:

https://cloud.tencent.com/developer/article/1423939

posted @ 2024-07-26 17:59  redrobot  阅读(18)  评论(0编辑  收藏  举报