2012-01-06 82 views
18

我有一个修补程序,其中包含许多我想要拆分为多个提交并可能修改某些更改的更改。Git将修补程序应用于工作目录

我想将这个补丁应用到我的工作目录,然后手动提交更改。是否有可能在git中将补丁应用于工作目录?

回答

21

您可以使用git apply它适用补丁:

git apply < patchname.patch 

这不会产生任何承诺。实际上,没有任何选项,git apply命令甚至不需要有Git存储库。它只是将补丁应用于文件。

1

试试这个命令行

git am < patchname.patch 
+1

这是否适用普通补丁,将其添加到资源库(即常规提交)。 – Omar 2012-01-06 03:46:05

4

您可以使用patch命令,例如:

patch -p1 < path/file.patch 

使用patch命令,它通常会自动检测格式。当您尝试将补丁应用到工作目录时,这非常有用,该工作目录不是您希望修补的项目的本地签出。

如果您的补丁是专门为该项目创建的,否则使用git apply,否则在本地签出git存储库时,它将无法执行任何操作。