我正在嘗試生成僅包含已更改檔案的補丁。
如果最后 4 次提交是 A --> B --> C --> D,我只想要所有 4 次提交中最新版本的更改檔案。
因此,如果 File123.txt 在提交 A 中更改并在提交 C 中再次更改,我希望將提交 C 中的版本以及所有 4 個提交中的所有其他更改檔案移動到新目錄。
uj5u.com熱心網友回復:
我跑了,
git diff HEAD..但我沒有看到任何型別的輸出。
這是意料之中的,因為git diff HEAD..會比較兩次提交,第二次是... HEAD 本身。
git diff @
這會將 HEAD 與其父提交進行比較(除非 HEAD 是合并提交,在這種情況下,您需要該-m選項(默認情況下,git diff-tree --stdin不顯示合并提交的差異)。
我也會考慮git format-patch(如在此處)生成補丁(與git am一起應用)
uj5u.com熱心網友回復:
如果你想生成一個單獨的補丁檔案,它結合了最后四個提交的更改,只需運行:
git diff xx D # where 'xx' is the parent of A
# equivalent to :
git diff A^ D
# or if D is your active commit (HEAD) :
git diff HEAD~5 HEAD
如果要列出在這些提交中修改的檔案,只需添加--name-only到上面的任何命令:
git diff --name-only HEAD~5 HEAD
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/313242.html
標籤:混帐
上一篇:如何在gerrit中推送功能分支
下一篇:如何設計被不同程式使用的物件?
