git push 的解决方案

Posted nbk-zyc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git push 的解决方案相关的知识,希望对你有一定的参考价值。

如果输入$ git push origin master

提示出错信息:

  技术图片

  或者

  技术图片

  失败的原因:不能 push 远端仓库

  原因分析:由于你当前分支落后与远程端对应分支,所以无法更新;

  解决方案:使用 git pull origin master (先把远程服务器github上面的文件拉下来),然后使用 git push origin master 将本地仓库中的所有文件都提交到远程仓库中


  若还不能解决问题,接着会出现如下报错信息:

  技术图片

  失败的原因:拒绝让我合并不相关的历史

  解决方案:git pull origin master --allow-unrelated-histories

  技术图片

  然后,就可以使用  git push origin master。


  一般,git push origin master 出现问题的原因如下:

  1、是本地做了版本的回退,比如用了git reset,所以本地分支版本落后于远程端对应分支。
  2、在你push之前别人有push同一个分支的代码,导致远程比本地新。

对于1:
  这种情况如果确保本地强制回退是舍掉了一些没用的东西,则可以用   git push -f (危险、慎用)

  注:强制 push本地分支将会覆盖远程对应分支。这样操作一定要小心,因为 push -f 之后远程对应分支比之前本地多的一些提交将丢失。如果不确保本地回退对应部分可以舍弃,则要用情况2的方法解决

对于2:

  可以使用以下命令:

1 git fetch origin master  // 把远程最新的更新到本地 // 之后可以切换到远程分支(git checkout origin/master)查看/修改该分支的文件内容
2 git merge origin/master  // 把远程最新的合并到本地分支
3 // 或者
4 git pull origin master   // git pull = git fetch + git merge

冲突的解决方案:

  1、打开有冲突的文件,删除特殊符号,修改文件内容直到字节满意为止;

  2、git add [文件名]

  3、git commit -m "日志信息"

    注意:此时 commit 一定不能带具体文件名

 

以上是关于git push 的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

git 解决每次push代码都要输入用户名密码和git token失效的问题

《Git与Github使用笔记》解决:git push error: failed to push some refs to XXX

《Git与Github使用笔记》解决:git push error: failed to push some refs to XXX

ssh链接git服务器,解决push pull要求输入密码问题

git 常见冲突解决——git push遇到报错error: failed to push some refs to ‘git@git.xxx.com:xxx/xxx.git

解决团队中其他人在git中push代码总是被拒绝的问题