所以我设法执行了一个基准,并将更改推送到了Gitlab,但是现在我遇到了错误,想取消整个基准,然后回到开始的地方。我正在“功能分支”上工作,并做了基础“开发”分支。
我所做的是:
因此,现在我的本地分支和远程分支都包含来自rebase的更改。无论如何,我可以取消整个重新设置并推入-f并尝试再次执行此操作吗?谢谢!
答案 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