`

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

 
阅读更多

转载:http://www.linuxidc.com/Linux/2012-04/58985.htm

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

 

error:failed to push some refs to ...

 

Dealing with “non-fast-forward” errors
From time to time you may encounter this error while pushing:

 

  1. $ git push origin master  
  2. To ../remote/  
  3.  ! [rejected]        master -> master (non-fast forward)  
  4. error: failed to push some refs to '../remote/'  

To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'non-fast forward'
section of 'git push --help' for details.

 

 

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

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

git push -f

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

$ git fetch

$ git merge

这2句命令等价于

  1. $ git 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文件的话,可以在bush上输入如下命令行:

  1. $ git config branch.master.remote origin  
  2. $ git config branch.master.merge refs/heads/master  

之后再重新git pull下。最后git push你的代码吧。it works now~

分享到:
评论

相关推荐

    史上最全的git解决冲突

    1. 当执行推送(push)操作时遇到`rejected--non-fast-forward`错误提示,表示存在冲突。 2. 从远程仓库拉取最新的代码。 3. 使用Git的Merge功能手动解决冲突。 4. 解决冲突后,再次执行提交(commit)和推送(push)操作...

    eclipse连通git

    ### Eclipse与Git集成知识点 #### 一、Eclipse与Git集成概述 - **Eclipse**:一款开源的、可...在实际操作过程中,需要注意常见的错误处理,如解决`non-fast-forward`错误、处理权限问题等,以确保项目的顺利进行。

    git命令添加 修改 删除 冲突解决办法.docx

    在尝试推送时,如果你遇到非快速前进(non-fast-forward)错误,你需要先拉取远程的更改: ``` git pull ``` 这会提示冲突。冲突部分将以`, `=======`, `>>>>>>>`标记。你需要手动编辑这些文件,解决冲突。删除...

    git常用操作命令

    [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'git@www.yongche-inc.com:che.git' ``` 这表示远程仓库的`master`分支比你的本地`master`分支有更新,需要先拉取最新更改再...

    git常见命令.pdf

    Git还提供了非常强大的分支合并策略,包括快进式合并(Fast-forward merge),以及更复杂的非快进式合并(Non-fast-forward merge)。在冲突发生时,Git能够提供合并工具,帮助用户解决代码冲突。 Git作为分布式...

    蒋鑫:从Git社区看配置管理

    - 非快进式推送(Non-Fast-Forward Push):当需要强制推送覆盖远程仓库历史时使用。 - 获取(Fetch):`git fetch`用于从远程仓库获取最新的历史记录,但不合并到本地分支。 - 引入(Rebase):`git rebase`可以...

    浅析Git 分支的新建与合并

    Git合并的过程有两种类型:快进(Fast-forward)和非快进(non-Fast-forward)。快进合并发生在当我们合并的分支是当前分支的直接上游时。在这种情况下,Git只需要简单地将当前分支指针向前移动到目标分支的位置。非...

Global site tag (gtag.js) - Google Analytics