为了账号安全,请及时绑定邮箱和手机立即绑定

取消“git推动”

取消“git推动”

Git
Helenr 2019-07-16 14:17:38
取消“git推动”这是我在我的应该是稳定的分支.。% git rebase masterFirst, rewinding head to replay your work on top of it...Fast-forwarded alpha-0.3.0 to master .% git status# On branch alpha-0.3.0# Your branch is ahead of 'origin/alpha-0.3.0' by 53 commits.#nothing to commit  (working directory clean)% git pushFetching remote heads...   refs/   refs/heads/   refs/tags/   refs/remotes/'refs/heads/master': up-to-date updating 'refs/heads/alpha-0.3.0'   from cc4b63bebb6e6dd04407f8788938244b78c50285   to   83c9191dea88d146400853af5eb7555f252001b0     done'refs/heads/unstable': up-to-dateUpdating remote server info这是一个错误,我后来意识到。我想撤销整个过程,并将alpha-0.3.0分支恢复到原来的状态。我该怎么办?
查看完整描述

3 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

您需要确保此存储库的其他用户没有获取不正确的更改,或者试图在要删除的提交的基础上构建,因为您即将倒带历史。

然后你需要“强迫”推动旧的引用。

git push -f origin last_known_good_commit:branch_name

或者在你的情况下

git push -f origin cc4b63bebb6:alpha-0.3.0

你可能有receive.denyNonFastForwards设置在远程存储库上。如果是这样的话,那么您将得到一个错误,其中包括短语。[remote rejected].

在这个场景中,您必须删除并重新创建分支。

git push origin :alpha-0.3.0
git push origin cc4b63bebb6:refs/heads/alpha-0.3.0

如果这不起作用-也许是因为你receive.denyDeletes设置,则必须直接访问存储库。然后,在远程存储库中,您必须执行类似以下管道命令的操作。

git update-ref refs/heads/alpha-0.3.0 cc4b63bebb6 83c9191dea8


查看完整回答
反对 回复 2019-07-16
?
慕容3067478

TA贡献1773条经验 获得超3个赞

我相信你也可以这样做:

git checkout alpha-0.3.0
git reset --hard cc4b63bebb6
git push origin +alpha-0.3.0

这与最后一种方法非常相似,只是您不必在远程回购中到处乱跑。


查看完整回答
反对 回复 2019-07-16
?
慕神8447489

TA贡献1780条经验 获得超1个赞

git revert没有这里建议的一些方法那么危险:

prompt> git revert 35f6af6f77f116ef922e3d75bc80a4a466f92650
[master 71738a9] Revert "Issue #482 - Fixed bug."
 4 files changed, 30 insertions(+), 42 deletions(-)
prompt> git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)
prompt>

用自己的提交替换35f6af6f77f116ef922e3d75bc80a4a466f92650。


查看完整回答
反对 回复 2019-07-16
  • 3 回答
  • 0 关注
  • 524 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信