当前位置:  开发笔记 > 开发工具 > 正文

我无法继续使用git?

如何解决《我无法继续使用git?》经验,为你挑选了2个好方法。

git push origin master 显示错误

未能推送一些引用' git@github.com:xyz/abc.git' 为了防止您丢失历史记录,拒绝非快进更新在再次推送之前合并远程更改.有关详细信息,请参阅"有关快进的注意事项"部分git push --help.

这是什么?如何恢复?



1> VonC..:

请参阅GitHub帮助页面中的"推送分支"部分:

处理"非快进"错误

在推送时,您可能会不时遇到此错误:

$ git push origin master
To ../remote/
 ! [rejected]        master -> master (non-fast forward)
error: failed to push some refs to '../remote/'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'non-fast forward'
section of 'git push --help' for details.

这个错误起初可能有点压倒性,不要害怕.
简单地说,git无法在不丢失提交的情况下对远程进行更改,因此它拒绝推送.通常这是由另一个用户推送到同一分支引起的.
您可以通过获取和合并远程分支或使用pull来同时执行这两个操作来解决此问题.

在其他情况下,此错误是通过使用git commit --amend或等命令在本地进行的破坏性更改的结果git rebase.
虽然您可以通过添加--forcepush命令来覆盖远程,但只有在您完全确定这是您想要执行的操作时才应该这样做.强制推送可能会导致已经获取远程分支的其他用户出现问题,并被视为不良做法.如有疑问,请勿强行推动.


Michael Mrozek在评论中提到的关于"快速前进的注意事项"的git push模式细节.



2> Joe Lewis..:

除了VonC的回答,

如果您打算用本地覆盖远程更改,

  $git push --force

会做.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有