2012-03-30 53 views
26

假设我7在提交原点/主回购之前提交。我想创建一个修补程序,其中包含修改后的修补程序特定文件,而不是所有文件。或者等价物从修补程序中排除特定文件。我怎样才能做到这一点?在git中创建包含特定文件的修补程序

回答

36

通过在命令末尾列出路径(在--之后以避免路径名称和分支名称之间出现任何潜在的冲突),您可以限制git diff的输出。例如,你可以做到以下几点:

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

...生成一个补丁,只显示一个特定文件和特定目录中的差异。

19

您可以在补丁与文件:

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

git format-patch HEAD^^^ Makefile 

会给你三个文件0001- [提交] ... 0003- [提交]仅包含的Makefile 。

+2

这真的有用吗? format-patch文档并没有说你可以提供特定的文件作为参数。 – 2014-02-25 14:43:32

+1

虽然我没有在文档中找到任何有关该功能的参考,但它对我很有用。 – 2014-09-03 15:52:50

+0

我也一直无法找到此功能的文件。希望更好地理解在脚本中使用的选项! – 2017-04-20 05:13:19

相关问题