Git 技巧:恢復(fù)到前一次提交
有時(shí)候你希望將你現(xiàn)在的代碼返回到前一次提交,并保留所有之前的變化。你希望在前一次提交與當(dāng)前HEAD之間提交新的代碼。
首先,以你希望退回的提交處新建一個(gè)分支為 'revert-branch' 。在這個(gè)例子中,我們希望退回到前一次提交(假設(shè)當(dāng)前分支為'master'),并且在這個(gè)提交上再做修改。
- git branch revert-branch HEAD^
接下來切換到新的分支:
- git checkout revert-branch
傳授一個(gè)絕招:從master軟恢復(fù)到新分支的HEAD。軟恢復(fù)將改變HEAD的狀態(tài),但并不影響工作樹。
- git reset --soft master
現(xiàn)在,我們執(zhí)行 git status, 我們將看到我們想要恢復(fù)的提交的變化。我要撤銷添加'second.txt',但也可能是更復(fù)雜的變化:
- $ git status
- # On branch revert-branch
- # Changes to be committed:
- # (use to unstage)
- #
- # deleted: second.txt
- #
現(xiàn)在讓我們提交這個(gè) '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