如果已经用力推了,请取消git rebase

时间:2018-07-17 18:01:34

标签: git gitlab push rebase

所以我设法执行了一个基准,并将更改推送到了Gitlab,但是现在我遇到了错误,想取消整个基准,然后回到开始的地方。我正在“功能分支”上工作,并做了基础“开发”分支。

我所做的是:

  • Git结帐功能分支
  • Git基础开发
  • Git push -f起源功能分支

因此,现在我的本地分支和远程分支都包含来自rebase的更改。无论如何,我可以取消整个重新设置并推入-f并尝试再次执行此操作吗?谢谢!

2 个答案:

答案 0 :(得分:4)

您可以查看git reflog https://git-scm.com/docs/git-reflog

git reflog feature-branch

,然后找到最新的正确提交,然后

git reset -- hard 129e6d3 

该数字为提交引用

编辑:

在Google搜索之后,我发现了https://medium.com/@shreyaWhiz/how-to-undo-a-mistaken-git-rebase-life-saver-2977ff0a0602这似乎是您的问题

答案 1 :(得分:3)

您可以在重新设置基准之前在分支上找到提交,然后将其重新设置-(git log或git reflog会有所帮助)。此外,manbetx客户端打不开有一个网络选项卡,应该可以让您轻松地看到这一点。

git reflog的示例,因为它可能是最简单的:

git reflog feature-branch

以上内容将为您提供一些输出,例如:

73d836b feature-branch@{0}: rebase finished: feature-branch onto e806e41f1fe22624e6546abd65c332c934214891
129e6d3 feature-branch@{1}: commit: Commit message

从以上输出中获取提交引用(选择最近一次良好提交的位置)

git reset --hard {commitRef}
git push -f // this will push your branch back to how it was before rebase