git push 的解决方案

Equation 2020-02-20

如果输入$ git push origin master

提示出错信息:

git push 的解决方案

或者

git push 的解决方案

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

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

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


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

git push 的解决方案

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

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

git push 的解决方案

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


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

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

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

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

对于2:

可以使用以下命令:

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

冲突的解决方案:

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

2、git add [文件名]

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

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

相关推荐