2017-05-05 32 views
0

我合并了一个远程分支到我的本地仓库,并创建了26个本地提交。如何撤消Git中的上次本地提交并返回到远程状态?

现在,我想恢复这种合并,但它认为将提交1还原为1或寻找远程版本的最后一次提交还原为非常枯燥和错误敏感。

我经历了How to undo last commit(s) in Git?这个帖子,它的答案很有意思,但是我没有找到任何简单的方法来做我的本地回复。

任何人都可以帮忙吗?

回答

1

使用git登录&的Git复位

git log 

这会给你的消息,通过它可以识别您提交ID提交ID。

使用提交ID然后重置。

git reset <commit-id> 

如果你永久想要回到那个提交。您可以使用以下内容。

git reset --hard <commit-id> 
+0

可以重置为分行所以你可以通过'git reset --hard origin/master'来重新设置你最后一次与远程设备通信的远程主机。 –

+0

@ LasseV.Karlsen可能认为origin/master将具有相同的提交id,因为OP没有提到origin/master和本地分支同步。 – harshitpthk

+0

好的,但我正在寻找一个解决方案,而不使用commid id,并且当我将**合并到**我的本地分支时,我的目的是回到这个确切分支的远程状态。所以感谢@Lasse V. Karlsen @“Lasse V. Karlsen” – geekobi

0

我试过一个或两个东西,这个人是有点脏,但它很简单,似乎工作:

  • 结帐到另一个分支(创建一个如果没有):git checkout -b tempo
  • 去除不良当地分公司:git branch -D dirty_one
  • 重新创建一个远程同步的本地分支:git checkout -b dirty_one origin/dirty_one

就是这样。

我觉得很脏的东西是坏地方提交仍然在当地回购,但分支不知道他们,所以他们可能会保持隐藏。

如果我重做我的合并(我其实已经做了),合并只是工作很好,但我不知道究竟如何(即脏的部分...)