在git中创建一个包含特定文件的补丁

时间:2012-03-30 09:03:06

标签: git file patch

假设我在Origin / master repo之前提交了7个提交。我想创建一个补丁,其中包含已更改的补丁中的特定文件,而不是所有文件。或等效项从已更改的修补程序中排除特定文件。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:55)

您可以通过列出命令末尾的路径(git diff之后)来限制--的输出,以避免路径名和分支名之间发生任何潜在的冲突。例如,您可以执行以下操作:

git diff origin/master HEAD -- app/models/region.rb doc/ > changes.patch

...生成仅显示特定文件和特定目录中的差异的补丁。

答案 1 :(得分:32)

您可以在补丁中包含以下文件:

git format-patch <rev> <files...>

实施例

git format-patch HEAD^^^ Makefile

将为您提供三个文件0001- [commit] ... 0003- [commit]仅包含Makefile。