新公司还是使用SVN,一怒之下写了这篇保姆级小白教程( 四 )

看,是不是有用户ithuangqing添加的代码了,然后提交吧,这下就保证成功了的!
我去,冲突是咋回事协同开发肯定会遇到的一个问题就是冲突了,一般的话就是你和别人修改了同样位置上的代码,来看个例子:
首先别人修改了这行代码:
public class Test1 {    public static void main(String[] args) {        System.out.println("欢迎学习svn!");        System.out.println("大家好,我是用户user1,好好学习天天向上!-- 别学了,学不会的,哈哈");        System.out.println("大叫好,我是用户ithuangqing");    }}然后你也修改了这行代码:
public class Test1 {    public static void main(String[] args) {        System.out.println("欢迎学习svn!");        System.out.println("大家好,我是用户user1,好好学习天天向上!真难啊");        System.out.println("大叫好,我是用户ithuangqing");    }}这里你需要捋一下,就是上面人家已经修改了这段代码,并且提交上去了,你这里没有先更新,而是直接修改了代码,然后你开始提交,发现这个错误:

新公司还是使用SVN,一怒之下写了这篇保姆级小白教程

文章插图
 
这个问题之前说过了,那就去更新呗,结果:
新公司还是使用SVN,一怒之下写了这篇保姆级小白教程

文章插图
 
这就出现冲突了,其实也好理解,你俩都去修改这段代码,人家的已经提交上去,你去更新,相当于把服务器上的这行代码拉去下来,然后发现你也修改了,那完犊子了,谁修改的是对的呢?应该留下哪个呢?
这时候就需要解决冲突了,这个时候你再看文件:
新公司还是使用SVN,一怒之下写了这篇保姆级小白教程

文章插图
 
这都是啥玩意?这是因为出现冲突了,需要你解决冲突,怎么解决嘞?我们打开源文件看看:
新公司还是使用SVN,一怒之下写了这篇保姆级小白教程

文章插图
 
这个时候就需要你处理,该留下哪段代码,这个是需要和别人商量的,看看是哪里出问题了,一起看下最终决定六留下哪段代码,比如最终你自己的修改是对的,那就把这些删除掉:
新公司还是使用SVN,一怒之下写了这篇保姆级小白教程

文章插图
 
然后就成这样了:
新公司还是使用SVN,一怒之下写了这篇保姆级小白教程

文章插图
 
然后你再看这些文件:
新公司还是使用SVN,一怒之下写了这篇保姆级小白教程

文章插图
 
不是已经解决了冲突了吗?是的,你是解决了冲突,但是你没有告诉svn啊,你得给svn说声冲突解决了,这样操作:
新公司还是使用SVN,一怒之下写了这篇保姆级小白教程

文章插图
 
然后这个:
新公司还是使用SVN,一怒之下写了这篇保姆级小白教程

文章插图
 
点就ok就彻底解决冲突啦:
新公司还是使用SVN,一怒之下写了这篇保姆级小白教程

文章插图
 
冲突解决了之后,你就可以正常提交你的修改啦!(之前提交不成功,需要更新,更新遇到了冲突,解决冲突之后,再次提交就没问题啦)
查看日志日志这个玩意,在以后的开发中务必引起重视,在这个svn里面,我们也是可以查看日志的,比如我们查看这个类的日志:
新公司还是使用SVN,一怒之下写了这篇保姆级小白教程

文章插图
 
在这里可以看到自己和他人对这个文件的一些修改 。
版本回滚需要重视这个功能也是使用比较多的,但是刚开始的话会觉得有点摸不着头脑,比如我们在写代码的时候,后来发现自己写的代码有问题,结果已经提交上去了,别人拉取咱的代码,那肯定出问题啊,怎么搞,这个时候咱们就可以使用版本回滚,来看看具体怎么操作 。
比如现在我们需要写个功能,这样写的:
新公司还是使用SVN,一怒之下写了这篇保姆级小白教程

文章插图
 
然后我们也提交上去了,咋整,后悔了,能不能时光倒流,人家更新代码的话,会更新到我的错误代码,你看看人家原来是这样的:


推荐阅读