svn版本冲突解决
一大早踩着点,开发甲、乙到了办公室。他们都更新(svn update )了最新的代码到本地,开始了一天的工作。他们今天都会修复几个bug。
在修复的过程中,很可能不同的人修复了同一个文件。甚至修改了同一行。那么我们开发如何合并修改呢?
下面我们来实操,看看怎么合并修改。
为了让同学们一人分饰两角,能模拟出2人版本冲突的情况:
请创建2个文件夹demo1、demo2,分别checkout出最新的代码。
demo1就可以模拟甲的环境进行操作。
demo2就可以模拟乙的环境进行操作。
1.甲、乙修改的同一个文件的不同行
当甲乙修改的不是同一个代码,那么大家井水不犯河水,可以正常修改提交。
但是,当他们都修改了同一个文件,
甲先提交了修改文件到版本库。他的操作可以顺利完成。
之后乙也完成了修改,尝试提交代码到版本库时,svn会提示乙先进行更新,更新后,甲的代码会更新到本地,之后乙就可以正常提交了。
下面我们来看看乙是怎么操作的吧!
svn会提示乙先进行更新。
更新之后,乙如果去查看001.txt,发现文件内容已经将甲的修改合并过来了
这是,在弹出的提交窗口,输入日志后,点击【ok】按钮就可以成功将修改提交到版本库了。
2.甲、乙修改了文件的同一行
有时,甲和乙会同时修改了某一行。甲提交后,乙提交时就会有冲突,需要解决冲突。
我们来看看乙是如何解决冲突,成功提交的吧!
如下所示,乙提交时,输入提交日志,点击【ok】按钮
系统提示提交失败,需要先更新
在下面的提示中,我们选择 “Update”
update之后,会多出和冲突文件同名的三个文件,分别表示乙刚才要提交的文件、乙修改之前的版本、版本库最新的版本
进入如下窗口,双击冲突文件,可以进入合并窗口,合并窗口可以在冲突行上选择要保留甲的、还是使用乙的、还是两者兼用
合并窗口分为三个区域,左上角 显示 甲和父版本的差异。
右上角 显示 乙和父版本之间的差异
下方 合并区域显示 合并结果。
红色表示冲突航
橙色表示父版本的信息
白色表示相同的行
在下方的合并窗口中,在红色冲突行上点击右键擦弹 “use the block from “mine””
所有冲突解决后,点击按钮“mark as resolved”,关闭合并窗口。
再次进入到提交窗口,点击【ok】
此时成功提交了
还没有评论,来说两句吧...