首页 > 解决方案 > 将原点重置为某个提交

问题描述

我,因为错误将分支“dev”推送到存储库中的“origin/dev”,所以现在我想将这些分支重置为这个提交 226b5cf7。

我已经试过了: git reset --hard 226b5cf7 (所以现在我的开发被重置为那个提交) git push --force origin 226b5cf7:dev (重置原点/开发,但不工作!!!)

我收到这条消息:远程:错误:拒绝非快进 refs/heads/dev(你应该先拉)到 ssh://demadev/volume1/Git/smile.git ![远程拒绝] 226b5cf7 -> 开发(非快进)错误:未能将一些参考推送到 'ssh://codinera@demadev/volume1/Git/smile.git'

标签: javascriptgitgithubbranchreset

解决方案


我已经尝试过这个:(git reset --hard 226b5cf7所以现在我dev被重置为那个提交)

这很好,但在技术上不是必需的。请注意,您首先必须git checkout dev使其影响您的姓名dev

[后跟] git push --force origin 226b5cf7:dev(重置原点/开发,但不工作!!!)

这是需要的部分。

你说它“不工作”。如果您还说此命令(包括--force选项)的结果是:

remote: error: denying non-fast-forward refs/heads/dev (you should pull first)
To ssh://demadev/volume1/Git/smile.git
  ! [remote rejected] 226b5cf7 -> dev (non-fast-forward)
error: failed to push some refs to 'ssh://codinera@demadev/volume1/Git/smile.git'

那么这意味着他们codinera@demadev/volume1/Git/smile.git——Git at——忽略了你的强制选项,仍然拒绝做出你要求的改变。(这将是对没有--force标志的尝试的正常响应。 )

如果是这种情况,您将无法直接进行此更改。您必须找到有权进行更改的人,进行更改这可能涉及登录名为demadev. 那里的 Git 存储库可能已receive.denyNonFastForwards设置为true.


推荐阅读