我不小心做了git pull
而不是git push
并且发生了合并冲突。我很惊讶git尝试了一个合并,因为远程分支自我上次拉/推以后没有收到任何提交。由于我不想进行拉/合并,我做git reset --hard
后跟git merge --abort
。我试着推,但收到了消息:
On branch my_branch
Your branch and 'origin/my_branch' have diverged,
and have 17 and 1 different commit each, respectively.
(use "git pull" to merge the remote branch into yours)
nothing to commit, working directory clean
如何在意外拉动之前返回状态,以便能够将我的本地提交推送到远程分支?
答案 0 :(得分:1)
你的遥控器确实得到了提交。您可以使用以下命令查看git树:
git log --all --graph --decorate --oneline
也许你在遥控器上已有的一次提交上做了git commit --amend
或类似的事情。分析上面命令的输出(并在你的问题中发布它),看看你想要保留哪个提交。
由于您正在处理您的个人分支,您可以考虑(请注意,这不是理想的)粉碎您的(1)远程提交与您的(17)本地提交,使用
git push -f
警告:在这种情况下,您将“丢失”一次远程提交。
如果您想保持一次远程提交,您可以考虑先将本地工作重新定位到该提交,然后再推送
git rebase origin/my_branch
git push