2013-02-17 121 views
0

我很新与git所以不知道如何解决目前的问题,我在寻找自我。有人告诉我,做一个撤消git pull --rebase,日志不显示提交?

git pull --rebase 
git push 

要合并我的本地提交到服务器上的人。但是现在,我所有的提交和代码更改都消失了,我不知道如何让他们回来。如果我做

git log 

它显示我的本地提交没有。我如何从这里前进?理想情况下,我希望我的提交与服务器合并,但是如果我能够恢复到--rebase之前的阶段,那么我也会很高兴。

git reflog确实显示了我所做的一些提交,这里是一位专家。

enter image description here

的承诺“将缺少罐子”是我在本地执行的最后一个。

+0

后续问题:您是直接在Dropbox中工作吗?不知道这是不是一个好主意。请参阅以下链接以设置Dropbox的裸回购:https://freshmob.com.au/using-dropbox-as-a-git-repository/ – 2013-02-17 13:41:48

+0

您可以在'git pull --rebase'之前显示日志吗?它。 – pktangyue 2013-02-17 17:04:19

回答

1

您是否首先重置原点/主点(请参阅您的reflog中的HEAD @ {2})?这会让你失去你的本地变化。

无论如何,你可以再试一次。要回到你所在的位置,请执行以下操作:

git reset --hard [email protected]{3} 

然后你可以再次用rebase来尝试你的git pull。

如果这感觉有点不安全,那么在做git pull之前,你总是可以做一个备份分支。

git branch backup 
+0

“首先重置为origin/master(请参阅HEAD @ {2})”,这是'git pull --rebase'的第一步。我相信这不是由OP完成的。 – pktangyue 2013-02-17 17:03:04

+0

我在想这件事。我检查了我的一个回购协议的reflog,并且在rebase期间看不到任何重置,但我通常会取回然后重新绑定。 – 2013-02-17 17:22:40