SVN入门第九讲——在Eclipse中使用SVN插件来解决代码冲突问题

描述代码冲突的问题

什么情况下,会出现代码冲突的问题呢?在做项目的过程中我们都会使用SVN对项目进行版本控制,大家同时更改同一个项目或者同一个文件时就会发生代码冲突的问题。下面,我会举一个例子来演示代码冲突的问题是如何产生的。

  1. lay(开发人员)和ymm(开发人员)他俩从SVN服务器上将项目源码下载到本地的工作空间之后,有可能会同时修改同一个文件。例如,lay(开发人员)在其检出的项目(例如my_store)中新添加了一个User类。
    在这里插入图片描述
    然后,他便会试着将修改后的代码上传到SVN服务器上去。那如何将该项目上传到SVN服务器上去呢?详细步骤如下:

    • 第一步,右键所选中的web项目,然后选中Team这一项,再选中提交。
      在这里插入图片描述
    • 第二步,在弹出的窗口中填写提交日志,建议一定填写方便日后查询历史操作日志。
      在这里插入图片描述
    • 第三步,点击OK按钮,在弹出的窗口中输入用户名和密码。
      在这里插入图片描述
    • 第四步,点击OK按钮,就能将web项目上传到SVN服务器上去了。
      在这里插入图片描述
  2. 这时,在ymm(开发人员)这一边,他也是需要从SVN服务器上下载最新的项目源码的,那又如何下载呢?详细步骤如下:

    • 第一步,右键所选中的web项目(例如my_store2),然后选中Team这一项,再选中更新。
      在这里插入图片描述
    • 第二步,在弹出的窗口中输入用户名和密码。
      在这里插入图片描述
      此时,ymm(开发人员)就能将SVN服务器上的web项目下载到本地了。
      在这里插入图片描述

    然后,他也有可能对User类进行修改,例如在User类中添加一个private String password属性。
    在这里插入图片描述
    接着,他便会试着将修改后的代码上传到SVN服务器上去。怎么上传,不用我说了吧!上面都讲了。

  3. 在lay(开发人员)这一边,他仍然需要从SVN服务器上下载最新的项目源码,至于怎么下载,不用我说了吧!上面也讲了。此时,开发人员lay和ymm拿到的都是最新的代码,他俩都有可能同时对User类进行修改,假设lay(开发人员)在User类中添加了一个private String name属性,此时ymm(开发人员)是不知道lay(开发人员)已经对User类进行了修改。
    在这里插入图片描述
    在ymm(开发人员)这一边,他也对User类进行了修改,即在User类中添加了一个private String sex属性。
    在这里插入图片描述

  4. 他俩都对User类修改完后,肯定会有一个人先提交,假设这个时候,lay(开发人员)改完以后,他先提交了代码。ymm(开发人员)改完以后,他也认为自己写的代码是最新的(至少在当时的他看来),他也会提交代码到服务器上去,在其提交的过程中,立马就会报错,这时代码冲突的问题便已出现了。
    在这里插入图片描述

解决代码冲突的问题

既然代码冲突的问题已经发生了,那么接下来就要解决这个问题了。但在解决之前,我们得右键我们的项目,然后选中Team这一项,再选中更新,更新一次我们的代码。
在这里插入图片描述
然后,在弹出的窗口中输入用户名和密码。
在这里插入图片描述
这时,会发现我们冲突的文件出现了别的副本,并且代码也会有别的内容显示。
在这里插入图片描述
到底如何解决代码冲突的问题呢?大家可以尝试着按照下面还算比较详细的步骤来解决。

  • 第一步,在有冲突的文件上右键,然后选中Team这一项,再选中编辑冲突。
    在这里插入图片描述
  • 第二步,在弹出的窗口中,会以对比的方式将本地内容与冲突内容显示出来,其中左侧为本地内容(本地内容是可以修改的),右侧为冲突内容。
    在这里插入图片描述
    然后,根据需要和实际情况将本地内容更正(即对两个文件进行合并,以左边的那个为准),这个过程很可能需要牵涉冲突的两位开发人员进行必要的沟通。
    在这里插入图片描述
  • 第三步,将本地内容更正后,按Ctrl+S进行保存,回到我们之前的代码文件,会发现多出来的内容也消失了。
    在这里插入图片描述
  • 第四步,冲突解决完之后,在冲突文件上点右键,然后选中Team这一项,再选中标记为解决。
    在这里插入图片描述
  • 第五步,在弹出的窗口中,选择第一个选项(Conflicts have been resolved in the file.)。
    在这里插入图片描述
  • 第六步,点击OK按钮,这时可以发现那几个多出来的副本已经消失,并且之前冲突的文件右下角也变成了*号,这意味着可以提交代码了。
    在这里插入图片描述
  • 第七步,再次尝试提交代码到服务器上去,这时便不会报错了,并且之前冲突的文件右下角也变成了金色圆柱体的符号。
    在这里插入图片描述
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李阿昀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值