Git 技巧:恢復到前一次提交
有時候你希望將你現(xiàn)在的代碼返回到前一次提交,并保留所有之前的變化。你希望在前一次提交與當前HEAD之間提交新的代碼。
首先,以你希望退回的提交處新建一個分支為 'revert-branch' 。在這個例子中,我們希望退回到前一次提交(假設當前分支為'master'),并且在這個提交上再做修改。
- git branch revert-branch HEAD^
接下來切換到新的分支:
- git checkout revert-branch
傳授一個絕招:從master軟恢復到新分支的HEAD。軟恢復將改變HEAD的狀態(tài),但并不影響工作樹。
- git reset --soft master
現(xiàn)在,我們執(zhí)行 git status, 我們將看到我們想要恢復的提交的變化。我要撤銷添加'second.txt',但也可能是更復雜的變化:
- $ git status
- # On branch revert-branch
- # Changes to be committed:
- # (use to unstage)
- #
- # deleted: second.txt
- #
現(xiàn)在讓我們提交這個 'reversal':
- git commit -m "reverted to initial state."
原文鏈接:http://www.oschina.net/translate/git-tips-revert-with-new-commit
譯文鏈接:http://www.oschina.net/translate/git-tips-revert-with-new-commit