Eclipse里git提交冲突rejected – non-fast-forward
Eclipse里commit代码,其实只是提交到本地仓库,需要push才会提交到远程的git仓库,这时是一个本地仓库到远程仓库的同步过程。Git是分布式的,每个人在本地仓库维护本地的自己的那一份代码,commit时只提交到本地仓库,不会影响到别人。当你push到远程仓库就可能发生冲突了。假如别人在你push前也push了同一个文件,那么问题就来了,冲突了,rejected – non-fast-forward出现了。
解决方法一:每次本地修改代码前先从git仓库pull下想要提交的分支的最新代码,改完了commit并push到git仓库。这里有个前提,修改、commit和push期间没人动你修改的文件。
解决方法二:期间文件在git仓库被改了,那么重新从git仓库获取最新的分支代码,然后把自己的修改放上去提交。
解决方法三:通过merge来解决冲突。当出现rejected – non-fast-forward别慌,这时我们可以识别哪些文件有冲突,一个一个改,改好了再pull下最新代码,然后提交到远程仓库。
下面具体说明下提交操作:
1、单个文件提交:首先跟远程仓库做比较,右键修改的文件和目录->Team->Synchronized Workspace->确保没有冲突后再次右键修改的文件和目录->commit,在Git Staging里选中Unstaged Changes窗口里要提交的文件->Add to Index->在Commit Messge里写提交说明->Commit and Push->Next,注意这里不要选最下面的Force overwirte branch in remote if exists and have deverged,否则本地仓库会覆盖远程仓库,造成覆盖别人代码的严重后果->OK
2、冲突解决:上面在Synchronized Workspace后出现冲突会有鲜艳的红色箭头出现,双击就可以看到哪个地方冲突了,一般是先把本地的改动保存好,从远程取下最新内容,再加上本地修改,最后提交。图示如下:
上面本地文件改动了,远程文件新增了,所以冲突了,右键选中该文件,点击Merge:

可以看到新怎的那一条自动复制到本地来了,接着右键点击Commit,输入提交说明,提交到本地仓库。此时再Pull最新远程git仓库里的代码到本地仓库(冲突不解决Pull会报错,Push报rejected – non-fast-forward),然后Push即可:

注意不要点强推,很容易覆盖代码。
Eclipse里git提交冲突rejected – non-fast-forward的更多相关文章
- eclipse中git提交冲突问题
1.工程->Team->同步: 2.从远程pull至本地,就会出现如下内容: 3.使用Merge Tool,执行第二项 使用HEAD合并后的效果: 4.再手动修改 4.修改后的文件需要 ...
- eclipse 中 git 解决冲突(重点)
Eclipse 中 GIT 提交代码时的冲突困扰了我很久,说实在的,真的感觉 GIT 太特么难用了,尤其是提交代码时(或许还没习惯吧).特此,写一篇博文记录一下自己使用 GIT 决解冲突的问题,希望能 ...
- git学习四:eclipse使用git提交项目
支持原创:http://blog.csdn.net/u014079773/article/details/51595127 准备工作: 目的:eclipse使用git提交本地项目,提交至远程githu ...
- eclipse使用git提交项目
eclipse使用git提交项目有2种方式:一种是git命令窗口,另一种是eclipse自带git插件(跟svn插件一样使用) 一.使用git命令窗口提交项目 1.首先官网下载git并安装,然后配置用 ...
- eclipse使用git提交本地项目,提交至远程github上
准备工作: 目的:eclipse使用git提交本地项目,提交至远程github上 eclipse版本:eclipse4.5 64位 jdk版本:jdk-1.7 64位 项目类型:maven web项 ...
- Eclipse svn代码提交冲突
Eclipse svn代码提交冲突(转) 1.Synchronize视图下查看代码冲突 1.Incoming Mode 全部update,更新到本地2.Outgoing Mode 全部commit,提 ...
- 不用copy代码--eclipse使用git提交项目-转
原文地址:http://blog.csdn.net/u014079773/article/details/51595127 准备工作: 目的:eclipse使用git提交本地项目,提交至远程githu ...
- eclipse使用git提交代码
准备工作: 目的:eclipse使用git提交本地项目,提交至远程github上 eclipse版本:eclipse4.5 64位 jdk版本:jdk-1.7 64位 项目类型:maven web项 ...
- Git 分支管理 不使用Fast forward模式进行合并 分支管理策略
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的comm ...
随机推荐
- 快速将对象转化为JSON格式
1.导入阿里巴巴fastjson包. <!-- fastJson将对象转化为Json对象 --> <dependency> <groupId>com.alibaba ...
- 内存中加载DLL DELPHI版
//从内存中加载DLL DELPHI版 unit MemLibrary; interface uses Windows; function memLoadLibrary(pLib: Pointer): ...
- Gulp实例(包括环境搭建的自动检测)
# Gulp实例(包括环境搭建的自动检测) Gulp是一个自动化构建工具,开发者可以使用它在项目开发过程中自动执行常见任务.下面我将完成如下的功能点并且附上源码: CSS文件打包 less文件打包 s ...
- python Tkinter图形用户编程简单学习(一)
Events(事件) Events are given as strings, using a special event syntax:事件以字符串的方式给出,使用特殊的事件语法:<modif ...
- linux的find命令详解
find命令是用来在给定的目录下查找符合给定条件的文件 find [OPTIONS] [查找起始路径] [查找条件] [处理动作] 一.OPTIONS参数 -P.-L.-H:控制软连接的对待方式, ...
- 自定义音频条形图--p52
package com.zzw.qunyingzhuan2; import android.content.Context; import android.graphics.Canvas; impor ...
- 条款20:在传递对象的时候尽量用reference-to-constent来代替,pass-by-value
注意一下,c++的底层编译器而言,引用类型往往都是由指针来实现出来的,所以pass-by-reference实际意义上往往是传递了一个指针,这对于c++的内置类型来说往往传递一个reference更加 ...
- javaScript-条件语句优化
1.多重判断时使用 Array.includes test = (fruit: string) => { if (fruit == 'apple' || fruit == 'strawberry ...
- 《锋利的jQuery》读书笔记(动画)
1.show()和hide() 实质就是改变当前DOM对象的display为block.none或inline-block(取决于之前的display),如下: $("element&quo ...
- [Scala]Scala学习笔记三 Map与Tuple
1. 构造映射 可以使用如下命令构造一个映射: scala> val scores = Map("Alice" -> 90, "Kim" -> ...