我編輯的文件和所做的:我怎樣才能撤消我最後的git添加/提交?
git add file.py
git commit -m 'fixed bug'
我然後編輯另一個文件,並進行了小的bug修復。我不需要兩次提交,一個接一個地顯示'錯誤修復'。我想要一個提交'錯誤修復'。
如何撤銷上次添加/提交併更改第一個提交消息?
我一直在尋找在git reset
,git revert
,git undo
命令,但我不想搞砸了我的回購帶猜
編輯:發現瞭如何做到這一點:http://www.gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html
隨着我編輯的兩個I文件,我已經做了'git add file; git commit'。做'git --amend -m'asd''只會編輯我以前的提交信息,不是嗎?離開日誌中的第一次提交? – dave 2010-12-21 10:32:28
不,'--amend'將索引的內容添加到新創建的提交中。舊的提交消失(變得懸而未決)。很有可能您仍然可以在gitk中看到它,在gitk中運行重新加載(Ctrl + F5)以使其消失。稍後的懸掛提交會從內存中消失('git gc'應該清理掉)。 – Gauthier 2010-12-21 10:33:52
你已經做過兩次了嗎?在這種情況下,你可以在'git reset HEAD ^'之前使用上面的命令。在做所有這些事情之前請先備份你的repo(確保文件夾.git在你的備份中),我不想對數據丟失負責。 – Gauthier 2010-12-21 10:38:23