2017-03-02 125 views
0

我忘了在提交之前添加文件,因此我在git add之前做了git commit。如何撤消上次提交

我該怎麼回去?

Git的日誌我得到:

commit 606da2c2e5fb34cf0d971dce2930c4c9d921a46f 
Author: Name <[email protected]> 
Date: Thu Mar 2 12:11:15 2017 +0100 

    Archive detail page added 

我怎樣才能撤消此最後一次提交的?

+0

@AvihooMamka它是重複的。我應該接受其中一個答案還是應該刪除該問題? – Boky

+0

如果您認爲其中某個答案以某種方式爲您提供了更好的解決方案,即原始線程上的答案,您可以接受它。 –

回答

2

聲明:如果您已經推送並且其他人可能已經拉出,請不要這樣做。

如果你只是想將文件添加到提交:

git add <files> 
git commit --amend --no-edit 

否則,您可以撤消和重做提交完整,詳見這裏:How to undo last commit(s) in Git?

1

可以最後撤消承諾:

git reset --soft HEAD~ 

如果您在提交信息中有錯字,只想編輯信息,您可以這樣做:

git commit --amend 

如果您提交了,但其中一個文件有錯誤。您可以進行更改,然後更新提交。

git add <file_path> 
git commit --amend 

如果順着歷史,你已經和提交信息有誤,您可以這樣做:

git rebase-reword <commit-id> 

要非常小心,當你正在編輯的歷史。如果您已將此更改推送給原始地址,則可能會導致其他貢獻者出現問題。