有时候你希望将你现在的代码返回到前一次提交,并保留所有之前的变化。你希望在前一次提交与当前HEAD之间提交新的代码。 首先,以你希望退回的提交处新建一个分支为 'revert-branch' 。在这个例子中,我们希望退回到前一次提交(假设当前分支为'master'),并且在这个提交上再做修改。 git branch revert-branch HEAD^ 接下来切换到新的分支: git checkout revert-branch 传授一个绝招:从master软恢复到新分支的HEAD。软恢复将改变HEAD的状态,但并不影响工作树。 git reset --soft master 现在,我们执行 git status, 我们将看到我们想要恢复的提交的变化。我要撤销添加'second.txt',但也可能是更复杂的变化: $ git status # On branch revert-branch # Changes to be committed: # (use to unstage) # # deleted: second.txt # 现在让我们提交这个 'reversal': git commit -m "reverted to initial state." 开源中国编译:http://www.oschina.net/translate/git-tips-revert-with-new-commit |