Git错误non-fast-forward后的冲突解决


问题描述:

           git在push代码时提示如下错误:

warn

问题解决:

         问题(Non-fast-forward)的出现原因在于:git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。于是你有2个选择方式:

1,强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容

git push -f

2,先把git的东西fetch到你本地然后merge后再push

$ git fetch origin master

fetch

$ git merge origin/master

merge

$ git push origin master

push

这2句命令等价于git pull :

name

  1. $ git pull 

直接使用git pull 又出现如下问题:

pull

上面出现的 [branch "master"]是需要明确(.git/config)如下的内容
[branch "master"]
    remote = origin

    merge = refs/heads/master

这等于告诉git2件事:

1,当你处于master branch, 默认的remote就是origin。

2,当你在master branch上使用git pull时,没有指定remote和branch,那么git就会采用默认的remote(也就是origin)来merge在master branch上所有的改变

未修改前config文件内容:

oldconfig

如果不想或者不会编辑config文件的话,可以在bush上输入如下命令行:

git config

修改之后config文件内容:

newconf

然后再次运行git pull 正常运行

git pull

原文地址:https://www.cnblogs.com/luosongchao/p/3408362.html