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 一定不能带具体文件名