我们的远程主分支不知何故搞砸了。当前的开发代码和最新的提交都在主分支上。显然,主分支的开发代码还没有准备好。
因此,在我的本地存储库中,我重置了最新的标记git reset --hard (Tag)。主分支现在在我的本地存储库上是正确的。现在,当我尝试将更改推送到远程存储库git push origin master时,我得到一个错误:
To (REMOTE GIT REPOSITORY LOCATION)
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to '(REMOTE GIT REPOSITORY LOCATION)'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.因此,在环顾四周之后,我发现了--force选项。因此,我对远程存储库git push --force origin master进行了强制推送,但仍然收到一个错误:
Total 0 (delta 0), reused 0 (delta 0)
remote: error: denying non-fast-forward refs/heads/master (you should pull first)
To (REMOTE GIT REPOSITORY LOCATION)
! [remote rejected] master -> master (non-fast-forward)
error: failed to push some refs to '(REMOTE GIT REPOSITORY LOCATION)'我不能在master上拉,因为它包含不能在master上的开发代码。
发布于 2012-05-11 09:40:23
该消息表示不允许进行非快进推流。
您的远程存储库的配置中很可能包含denyNonFastforwards = true。如果您改变了这一点,git push --force应该可以工作。
要更改设置,您需要访问包含远程存储库的计算机。从那里开始执行git config receive.denynonfastforwards false。
发布于 2012-05-11 09:29:04
遥控器不允许非快进。
您最好的选择是git revert所有不应该在那里的提交,并在未来更加小心。
git revert [commit]将创建一个新的提交,该提交撤消[commit]所做的任何操作。
发布于 2012-05-11 09:12:15
尝试使用-f标志并将其放在远程分支名称之后。
git push origin master -f
https://stackoverflow.com/questions/10544139
复制相似问题