创建包含gi中特定文件的补丁

假设我是7个在原始/主仓库之前的提交。 我想创建一个补丁,在补丁中包括已更改的特定文件,而不是所有文件。 或等效的排除补丁程序中已更改的特定文件。 我该如何实现?

vasilakisfil asked 2020-07-30T18:00:47Z
2个解决方案
57 votes

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

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

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

Mark Longair answered 2020-07-30T18:02:32Z
34 votes

您可以通过以下方式在补丁中包含文件:

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

git format-patch HEAD^^^ Makefile

将给您三个仅包含Makefile的文件0001- [commit] ... 0003- [commit]。

lars answered 2020-07-30T18:03:00Z
translate from https://stackoverflow.com:/questions/9939952/create-a-patch-including-specific-files-in-git