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

前端之家收集整理的这篇文章主要介绍了git错误non-fast-forward后的冲突解决前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

来自:https://www.linuxidc.com/Linux/2012-04/58985.htm 侵删

当要push代码到git时,出现提示

error:Failed to push some refs to ...

Dealing with “non-fast-forward” errors

Highlighter bg_plain">
  1. To ../remote/  
  2.  master (non-fast forward)  
  3. error: Failed to push some refs to '../remote/'  

To prevent you from losing history,non-fast-forward updates were rejected

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

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

git push -f

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

$ git fetch

$ git merge

这2句命令等价于

Highlighter bg_plain">

可是,这时候又出现了如下的问题:

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

    merge = refs/heads/master

这等于告诉git2件事:

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

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

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

Highlighter bg_plain">
    1. $ git config branch.master.merge refs/heads/master  

猜你在找的Git相关文章