2012-03-30 92 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

相關問題