最近我一直在使用git和一個系統應用補丁(Phabricator & Arcanist,但我不認爲這對於這個問題很重要)。如何在不改變工作副本的情況下籤出git修訂
我經常會以提交形式應用修補程序的情況結束,但我想編輯該提交。 當然,我總是可以編輯和git commit --amend
,但我也希望能夠做到git diff
,使用meld .
和其他工具,假定編輯是在最後一次提交的頂部進行的。
目前我執行以下操作。
git diff HEAD~1 > temp.diff
git reset --hard HEAD~1
git apply temp.diff
rm temp.diff
編輯補丁...
git commit -a
然而,這似乎有點笨拙,有沒有一些方法來設置Git倉庫到另一個SHA1,但保持當前工作副本完好無損?
注意:使用'@'指的'HEAD'是新,舊的Git客戶端可能需要在其位置明確提及「HEAD」。 – hvd
@hvd是,http://stackoverflow.com/a/964927/6309:混帳1.8.5+(2013年11月) – VonC