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 bash 使用 git init 命令,初始...
在执行git pull的时候,提示当前branch没有跟踪信息: 解决方案一 指定远程master git pull origin mas...
Git 命令行操作 1 本地库初始化 git init:初始化本地仓库 效果 注意:.git目录中存放的是本地库相关的...
一、Git 基础 1、Git 介绍 Git 是目前世界上最先进的分布式版本控制系统。 版本控制系统: 设计师在设计...
Git 工作流 概念 在项目开发过程中使用 Git 的方式 分类 集中式工作流 像 SVN 一样,集中式工作流以中央...
在 Eclipse 中使用 Git Eclipse 中默认自带了 Git 插件,通过点击 Help→About Eclipse IDE 可以查看 1...