我問這個的原因是我不小心做了一個git commit -a
,其中包含一個我還不想提交的文件。我的解決辦法是做到以下幾點:有沒有辦法將特定版本的文件添加到git索引?
git reset --soft HEAD^
git reset -- file/with/changes_not_to_committed
git commit -C [email protected]{1}
這裏,我倒回由一個分支提交,同時保持索引和工作樹,然後拉file/with/changes_not_to_committed
從一個又舊版本到索引,然後我犯該索引使用來自先前分支頭提交的提交消息。 git-reset
調用都不會觸及工作副本,因此我對file/with/changes_not_to_committed
的修改仍然存在,但不會再記錄在HEAD
修訂版中。
但是,它會一直,如果我可以拉從HEAD^
修訂file/with/changes_not_to_committed
對進入指數不接觸工作副本容易。由於該指數以其他方式已經代表我想要的狀態,然後我可以只修改HEAD
犯,產生這樣的順序:
git magic-pony HEAD^ file/with/changes_not_to_committed
git commit --amend -C HEAD
這是幾乎什麼,我會用git-checkout
更換git-magic-pony
,除了得到要求保持工作副本不變,只更新索引。看起來沒有辦法使git-checkout
不能同時觸及兩者。
我的問題是:確實存在git-magic-pony
,如果是的話,下是什麼名字?
謝謝!這正是我所期待的。不過,我不同意GUI的使用。 :-)也許更容易發現。 – 2008-11-03 12:09:17