今天之前的一个新人同事解决冲突不会给我发送微信。。。。。突然发现自己一直在自己写项目,常用线上的git仓库,把一些svn的东西忘掉了,其实都差不多,总结一下。。总结一下加深记忆
一旦出现了冲突之后文件会出现一个小叹号,,,但是冲突并不是简单的说你修改了文件它也修改了文件后就会出现而是
第一种情况,你和别人写的同一个文件并没有在同一行,那么update是可以成功的,可以拉到别人的代码,因为你虽然修改了但是并没有占用别人的代码,这个时候虽然有小红色叹号的标识,但是这个时候你只需要提交自己的代码就可以了。。
第二种情况,你和别人写的同一个文件并且写在了同一行这个时候就会出现冲突在你的代码中新增了一些奇奇怪怪的符号<<<<<、======、>>>>>等符号中代码,并且相同文件多了几个后缀。其实当出现冲突的时候,会生成好多文件如下。
XXX.java.mine是你自己修改后准备提交的那个版本;
XXX.java.r322是你们的初始版本;
XXX.java.r343是别人赶在你之前提交的那个版本;
这个也可以理解,就是说svn也不知道哪份是正确的,所以它都保留了下来。等你去解决问题。
解决方案:
找到冲突的文件右键找到Edit conflicts 对冲突进行修整,修改页面分为3大块左边(别人提交的现在线上的代码)右边(你当前本地的代码)和下面整个一大块(你需要修改的区域),整合好了以后直接点保存,会提示你是否修改为Resolved,这个时候选择是就可以,然后选中文件conmit就可以,如果发现还有小红色叹号直接在当前 目录右键刷新即可。。