10

有没有办法回滚最后一次提交并将其放入单独的分支以供以后测试?我做了一些我不想完全丢弃的更改,我只想将它们放在不同的分支中以供进一步测试。

谁能帮我这个?

4

3 回答 3

19

是的,您可以实现这一点 - 从当前分支分支并创建一个新分支以保留提交,检出回原始分支,然后回滚原始分支中的提交。

因此,从您当前的分支(让我们称之为current)创建并签出一个新分支separate

git checkout -b separate

这将创建一个 separate具有新提交的新分支。现在回到原来的分支

git checkout current

在此分支上,您现在可以回滚最后一次提交

git reset --hard HEAD~1

如果您稍后想要访问该较旧的提交,则必须执行 agit checkout separate并且该提交应该在该分支中可用。

于 2013-11-17T16:16:54.520 回答
4

您可以分两步完成此操作,而无需在分支之间切换。开始了。

  1. 从当前分支创建一个新分支,以保留当前状态:

    git branch feature_maybe
    
  2. 恢复当前分支中的最后一次提交:

    git reset --hard HEAD^
    
于 2013-11-17T16:25:40.487 回答
0

是的 - 使用 签出新分支git checkout -b <new branch name>,使用 切换到原始分支git checkout <original branch name>,然后git reset --hard HEAD~1将原始分支移回提交。(与往常一样,在四处移动分支时,使用类似的程序逐步可视化您正在做的事情是最安全的gitk。)

于 2013-11-17T16:17:16.357 回答