我有一个错误,并对git做了一些我不应该提交的更改.在我提交之后,我推动了我的更改.然后,我使用以下命令尝试重置我的更改.
git reset --hard head
Run Code Online (Sandbox Code Playgroud)
现在我想使用此命令将此"重置"推送到远程存储库:
git push MyBranch
Run Code Online (Sandbox Code Playgroud)
但是我收到了这个错误:
remote: error: denying non-fast-forward refs/heads/branch (you should pull first)
Run Code Online (Sandbox Code Playgroud)
我尝试使用此命令但没有成功:
git push -f "origin"
Run Code Online (Sandbox Code Playgroud)
知道我能做什么吗?
Von*_*onC 88
git push -f origin myBranch
Run Code Online (Sandbox Code Playgroud)
应该工作(如果你知道如果MyBranch已被其他人在他们自己的回购中提取,这可能是危险的)
注意:如果你的远程仓库('origin')的配置设置为
receive.denyNonFastForwards true
Run Code Online (Sandbox Code Playgroud)
它会拒绝任何非快进推送(即使是强制推送).
请参阅" 有没有办法配置git存储库以拒绝'git push -force'? ".
我设法通过设置来解决该问题,这时候
denyNonFastForwards
要false
使用-f
强制推送
如果OP无法访问回购,他/她将不得不:
git reset --hard?
"):git reset HEAD@{1}
git revert
git revert -m 1 HEAD~
举例:
$ git revert -m 1 [sha_of_C8]
Finished one revert.
[master 88edd6d] Revert "Merge branch 'jk/post-checkout'"
1 files changed, 0 insertions(+), 2 deletions(-)
Run Code Online (Sandbox Code Playgroud)
有关如何还原合并的完整讨论,请参见此处.
这个想法仍然只生成新的提交,包括一个恢复合并提交引入的更改.
然后,您可以推送新提交,作为快速更改.
归档时间: |
|
查看次数: |
46917 次 |
最近记录: |