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可以看到保存的信息,其中stash@{0}就是刚才保存的标记。
$ git stash list
stash@{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 stash@{0}
系统提示如下类似的信息:

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

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


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

 

更多相关文章
一周排行
  • 最近将公司的界面开发库从WX转换到了QT,有了信号和槽,原本我们在使用WX的时候,为了使用信号,我们是使用BOOST的signal2库,到了QT有了信号槽,这个就没什么必要了   但是前段时间使用QT发现QT的信号和
  •   以下这个心得感同身受,小生如今好歹也做过十几家企业,包括民企,中大型外企,国企的项目, 都经历了TMD的从金蝶用友切换到Oracle, SAP 每当上线的时候 总有用户跳出来比较说 SAP,Oracle和金蝶用友 ...
  • Arbitrage Time Limit: 1MS   Memory Limit: 65536K Total Submissions: 15640   Accepted: 6563 Description Arbit ...
  • 在VC++开发中,经常会用到string和wstring,这就需要二者之间的转换,项目中封装了wstring和string相互转换的2个函数,实现如下: //将wstring转换成string std::string ...
  • 总结:最好选择手动邮箱设置,第三发邮件登陆设置使用独立密码.这个需要在邮箱里面先设置,然后开启smtp.pop3.等各种邮件协议. qq邮箱服务器的接收服务器qq.pop3.com 端口好为995 qq邮箱服务器的发 ...
  • << CocoaPods安裝和使用教程 github code4app以及cocoachina 蘋果官方文檔
    developer.apple.com 英文搜索各个技术的官方介绍文档, 前提是英文过关
  •   原文地址:http://www.jellythink.com/archives/771 看看这段代码 先来看看下面这两行代码: std::function<void(EventKeyboard::KeyCo ...
  • execl(file, arg0,arg1,...) 用参数列表arg0, arg1 等等执行文件 execv(file, arglist) 除了使用参数向量列表,其他的和execl()相同 execle(file,
  • 1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键<table border oncontextmenu=return(f ...
  • 1.使用InnoDB MySQL有很多的数据库引擎,单一般也就用MyISAM和InnoDB. MyISAM 是默认使用的.但是除非你是建立一个非常简单的数据库或者只是实验性的,那么到大多数时候这个选择是错误的.MyI