svn版本冲突解决

曾经终败给现在 2024-05-31 05:25 246阅读 0赞

一大早踩着点,开发甲、乙到了办公室。他们都更新(svn update )了最新的代码到本地,开始了一天的工作。他们今天都会修复几个bug。

在修复的过程中,很可能不同的人修复了同一个文件。甚至修改了同一行。那么我们开发如何合并修改呢?

dc1e6fba2c1877623790d8e36e1c0725.png

下面我们来实操,看看怎么合并修改。

为了让同学们一人分饰两角,能模拟出2人版本冲突的情况:

请创建2个文件夹demo1、demo2,分别checkout出最新的代码。

demo1就可以模拟甲的环境进行操作。

demo2就可以模拟乙的环境进行操作。

1.甲、乙修改的同一个文件的不同行

当甲乙修改的不是同一个代码,那么大家井水不犯河水,可以正常修改提交。

但是,当他们都修改了同一个文件,

07bc309c7c607389c12a684af564494b.png

甲先提交了修改文件到版本库。他的操作可以顺利完成。

之后乙也完成了修改,尝试提交代码到版本库时,svn会提示乙先进行更新,更新后,甲的代码会更新到本地,之后乙就可以正常提交了。

下面我们来看看乙是怎么操作的吧!

e05033f92ffc1c27a1a1fe5a13c181e4.png

77ede0f518e8824cc9b5b5c40b224116.png

svn会提示乙先进行更新。

dc5bb52311f06f9dc4aae04fe16ce7c2.png

6f59ab3afd2c70f17a525beaef823b15.png

更新之后,乙如果去查看001.txt,发现文件内容已经将甲的修改合并过来了

e1ac31d2239c5a8c696cd0d526f4795f.png

这是,在弹出的提交窗口,输入日志后,点击【ok】按钮就可以成功将修改提交到版本库了。

901511ac3cc8db3a87d3a9aab9a851fc.png

2.甲、乙修改了文件的同一行

有时,甲和乙会同时修改了某一行。甲提交后,乙提交时就会有冲突,需要解决冲突。

我们来看看乙是如何解决冲突,成功提交的吧!

f2d4a6b186def01f1d54909d1b9a5711.png

如下所示,乙提交时,输入提交日志,点击【ok】按钮

240c11654c5c81c4b2d478efd17b9cae.png

系统提示提交失败,需要先更新

9bda898b525d8a30303b21966e11de64.png

在下面的提示中,我们选择 “Update”

015feb125454649904c67dbdfa54df46.png

update之后,会多出和冲突文件同名的三个文件,分别表示乙刚才要提交的文件、乙修改之前的版本、版本库最新的版本

24052b708650bd30d2f120d109ff5e4b.png

3283eda1e728f1d97afadb9fd4f009fd.png

进入如下窗口,双击冲突文件,可以进入合并窗口,合并窗口可以在冲突行上选择要保留甲的、还是使用乙的、还是两者兼用

14b3dc2ed2074a7cf8e7930c893d1e4f.png

合并窗口分为三个区域,左上角 显示 甲和父版本的差异。

右上角 显示 乙和父版本之间的差异

下方 合并区域显示 合并结果。

红色表示冲突航

橙色表示父版本的信息

白色表示相同的行

ba853ce4a0df7ee8f41888f49a013325.png

f48a330e738c036f8200ebb74940d3b3.png

在下方的合并窗口中,在红色冲突行上点击右键擦弹 “use the block from “mine””

所有冲突解决后,点击按钮“mark as resolved”,关闭合并窗口。

dcf35f6507103dfda8982d2359a029b3.png

再次进入到提交窗口,点击【ok】

75f72ff3049fa6f9f5d45b2a52ada5c9.png

此时成功提交了

74af1799f1890bdb1b06e17658457578.png

709ad598aed20ddbec82ba046797a48f.png

发表评论

表情:
评论列表 (有 0 条评论,246人围观)

还没有评论,来说两句吧...

相关阅读

    相关 解决SVN代码冲突

    解决SVN代码冲突 解决冲突有三种选择: 1、放弃自己的更新,使用svn revert(回滚),然后提交。在这种方式下不需要使用svn resolved(解决) 2、

    相关 SVN如何解决冲突

    1:聚合工程怎么导出到工作空间 2:提交代码原则 基本原则:每次提交前需要先和线上的对比,先把冲突解决掉,然后把线上的更新到本地,最后把本地的提交上去。即: 对比->解决冲