git pull沖突解決

场景:
用户UserA修改了文件File1,用户UserB也修改了文件File1并成功merge到了服务器上,而UserA和UserB改动了同一个代码块,当UserA拉取代码时git无法merge此改动,就会出现如下错误提示:

$ git pull
Updating 88b0e2d..af4b152
error: Your local changes to the following files would be overwritten by merge:
xxxxx/TuningPool.java
Please, commit your changes or stash them before you can merge.
Aborting

 

1、先将本地修改存储起来
Git提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
$ git stash

用git stash list可以看到保存的信息,其中[email protected]{0}就是刚才保存的标记。
$ git stash list
[email protected]{0}: WIP on dev: 88b0e2d Control the thread number


2、pull内容
暂存了本地修改之后,就可以pull了。
$ git pull


3、还原暂存的内容
工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个辦法:
一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
另一种方式是用git stash pop,恢复的同时把stash内容也删了。
你可以多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash,用命令:

$ git stash pop [email protected]{0}
系统提示如下类似的信息:

Auto-merging xxxxx/TuningPool.java
CONFLICT (content): Merge conflict in xxxxx/TuningPool.java

意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突。


4、解决文件中冲突的的部分

 

更多相关文章
一周排行
  • 前言: jenkins自动发布代码平台是我2014年6月搭建的,截止目前已经有26个项目的dev.beta. 生产环境都接入了jenkins,公司开发team中大部分是用GIT管理代码,也有一部分是用svn管理代码.
  • 就几行代码 , 就来个这个错误 ,就按照之前说找错的方法去找, 发现不好使就是不好使, 所以就上网找,找来找去都说是有的地方写错了,但是我没有地方写错啊. 于是再找还是说有的地方写错了,看来文件名的错误确实能导致这个 ...
  • Nginx1.9.5+PHP5.5+MySQL5.6 提要:MySQL5.6版本对系统内存有一定需求,512M内存无法运行 PHP5.5 .nginx1.7以上版本通用 yum安装依赖库 yum install -y
  • setTimeout[注:out的'o'是小写] 如果setTimeout(function,mill)中的function带参数,则定义的毫秒树mill会失效,function方法会立即执行 解决方法:把参数定义为
  • sprintf 将字串格式化. 语法: string sprintf(string format, mixed [args]...); 传回值: 字串 函式种类: 资料处理 内容说明 本函式用来将字串格式化.参数 f ...
  • 解决方法:jta.jar到lib下
  • HDUOJ8球勝負
    8球胜负 Time Limit: 5/1 MS (Java/Others)    Memo
  • 接上篇 身份和端点检测的结果决定了用户的网络访问权限,即用户在这个网络中能到达哪里. 在这个环节中,一般采用AAA系统,即认证.记账.授权系统,普遍采用的技术有: Radius Diameter TACAS+ 本文出
  • Impala是Cloudera在受到Google的Dremel启发下开发的实时交互SQL大数据查询工具,Impala没有再使用缓慢的Hive+MapReduce批处理,而是通过使用与商用并行关系数据库中类似的分布式查 ...
  • 题目: Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of ...