如何应用使用git format-patch生成的补丁?

时间:2010-02-12 05:28:06

标签: git patch

我有2个git本地存储库,它们都指向同一个远程存储库。

在一个git存储库中,如果我git format-patch 1,我该如何将该补丁应用到其他存储库?

6 个答案:

答案 0 :(得分:235)

注意:您可以先预览补丁的功能:

首先是统计数据:

git apply --stat a_file.patch

然后进行干运行以检测错误:

git apply --check a_file.patch

最后,您可以使用 git am 将修补程序应用为提交:它允许您注销已应用的修补程序。
这对以后的参考很有用。

git am --signoff < a_file.patch 

查看example in this article

  

在你的git日志中,你会发现提交消息包含一个“Signed-off-by”标记。 Github和其他人将读取此标记,以提供有关提交如何在代码中结束的有用信息。

Example

答案 1 :(得分:114)

git apply name-of-file.patch

答案 2 :(得分:30)

或者,如果你踢它上学:

cd /path/to/other/repository
patch -p1 < 0001-whatever.patch

答案 3 :(得分:19)

如果您想将作为提交应用,请使用git am

答案 4 :(得分:14)

首先,您应该在git amgit apply之间记下有关difference的注释

在使用git am时,您通常希望应用许多补丁。因此应使用:

git am *.patch

或者只是:

git am

Git会自动找到补丁并按顺序应用它们;-)

UPD
Here,您可以找到如何生成此类补丁

答案 5 :(得分:11)

如果您使用的是JetBrains IDE(如IntelliJ IDEA,Android Studio,PyCharm),您可以将修补程序文件拖放到IDE中,然后会出现一个对话框,显示修补程序的内容。您现在要做的就是单击“Apply patch”,然后创建一个提交。