取消 git rebase 如果已经用力推送
Cancel git rebase if already pushed with force
所以我设法执行了一个变基并将更改推送到 Gitlab 但现在我收到错误并且想取消整个变基并返回到我开始的地方。我在 "feature-branch" 上工作,我做了 "develop" 分支的变基。
我所做的是:
- Git 结帐功能分支
- Git 变基开发
- Git push -f origin feature-branch
所以现在我的本地分支和远程分支都包含来自变基的更改。无论如何我可以取消整个 rebase 并 push -f 然后再试一次吗?谢谢!
您可以在 rebase 发生之前在分支上找到提交,然后将其重置 -(git log 或 git reflog 会有所帮助)。 GitLab 也有一个网络选项卡,可以让您轻松查看。
git 重新登录的示例,因为这可能是最简单的:
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
你可以查看 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 这似乎是你的问题
所以我设法执行了一个变基并将更改推送到 Gitlab 但现在我收到错误并且想取消整个变基并返回到我开始的地方。我在 "feature-branch" 上工作,我做了 "develop" 分支的变基。
我所做的是:
- Git 结帐功能分支
- Git 变基开发
- Git push -f origin feature-branch
所以现在我的本地分支和远程分支都包含来自变基的更改。无论如何我可以取消整个 rebase 并 push -f 然后再试一次吗?谢谢!
您可以在 rebase 发生之前在分支上找到提交,然后将其重置 -(git log 或 git reflog 会有所帮助)。 GitLab 也有一个网络选项卡,可以让您轻松查看。
git 重新登录的示例,因为这可能是最简单的:
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
你可以查看 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 这似乎是你的问题