取消“git推动”

取消“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分支恢复到原来的状态。

我该怎么办?


皈依舞
浏览 471回答 4
4回答

MMTTMM

您需要确保此存储库的其他用户没有获取不正确的更改,或者试图在要删除的提交的基础上构建,因为您即将倒带历史。然后你需要“强迫”推动旧的引用。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

猛跑小猪

您需要确保此存储库的其他用户没有获取不正确的更改,或者试图在要删除的提交的基础上构建,因为您即将倒带历史。然后你需要“强迫”推动旧的引用。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

慕姐8265434

我相信你也可以这样做:git checkout alpha-0.3.0 git reset --hard cc4b63bebb6 git push origin +alpha-0.3.0这与最后一种方法非常相似,只是您不必在远程回购中到处乱跑。

手掌心

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。
打开App,查看更多内容
随时随地看视频慕课网APP