你该怎样用svn才能避免冲突? (内附逻辑图和详细解释)

       很多年前, 我在某公司实习, 做手机应用开发,  大家更新提交代码的模式如下:你该怎样用svn才能避免冲突? (内附逻辑图和详细解释)_第1张图片

       这种模式有一个缺点, 那就是容易冲突。 最开始, 三个程序员user1, user2, user3从配置库拿到了最新的代码, 如果user1改动, 然后提交,  而user2或者user3又在本地改动, 然后提交, 那么就很容易引入冲突(当然不是一定)。 实习那会儿, 几乎每天都有冲突的事情发生, 有时候覆盖了别人的代码, 有时候自己的代码被干掉, 有时候, 配置库上的代码甚至不能工作, 这样不好啊。


       我们看看改进措施:

你该怎样用svn才能避免冲突? (内附逻辑图和详细解释)_第2张图片

        如上图, user1搞两个文件夹, 在这里, 我们用D盘和E盘表示。 首先user1进行步骤1和4, 这样D盘和E盘中就存放了配置库中最新的代码, 然后user1在E盘中进行开发, 写程序, 改呀改。 程序完成了, 就准备提交了。 这个时候, user2或者user3很可能早就更新了配置库, 所以user1在提交代码前, 需要经历步骤2, 把最新代码拉下来, 由于user1并没有改动过D盘中的代码, 所以在拉下来的时候, 永远不会存在冲突。 这个时候D盘中的代码和配置库的代码完全一致, 此时, user1利用BeyondCompare将E盘中的代码合入到D盘中, 这就是步骤3。 然后, user1完成步骤2提交即可, 本次提交代码算是成功了。 接着进行第二次开发, 为了保证E盘是最新代码, 我们仍要进行一下4步骤, 这就是基本的模式。


        当然, 如果你做嵌入式开发, 很可能要在服务器上进行编译,那么, 建议按照如下图进行操作, 多的我就不讲了, 以下图结束本文:

你该怎样用svn才能避免冲突? (内附逻辑图和详细解释)_第3张图片



            好了, 睡觉, 晚安。

          


你可能感兴趣的:(你该怎样用svn才能避免冲突? (内附逻辑图和详细解释))