• 4 svn解决冲突


    1、什么情况下会发生冲突

    <1>两个开发人员,Harry和Sally,分别从服务器端下载了文件A。

    <2>Harry修改之后,A变成了A’,Sally修改之后,A变成了A’’。

    <3>Harry先一步提交,使服务器端文件的版本也变成了A’

    <4>Sally本地的文件A’’已经过时了,此时她已无法提交文件,服务器会要求她先进行一次更新操作。

    <5>此时Sally的更新操作有两种可能

       (1)Sally所做的修改与Harry不是同一个位置,更新操作尝试合并文件成功。

       (2)Sally所做的修改与Harry恰好是同一个位置,更新操作尝试合并文件失败,发生冲突。

    <6>发生冲突后,本地工作副本会发生如下变化

          (1)文件A中的内容发生如下改变

    public static void main(String[] args) {
            System.out.println("Edit By Command!");
            System.out.println("Edit By Command!");
    <<<<<<< .mine
            System.out.println("Edit By Eclipse!");
    =======
            System.out.println("Edit By Command!New Edit");
    >>>>>>> .r14
            System.out.println("Edit By Command!");
            System.out.println("Edit By Command!");
        }

    其中,从<<<<<<< .mine到=======之间是发生冲突时本地副本的内容。从=======到>>>>>>> .r14是发生冲突时服务器端的最新内容。注意这里r后面的数字是发生冲突时服务器端的版本号,有可能是任何整数值,r14只是一个例子。

    同时文件图标变成一个“黄色的!”。

          (2)与冲突文件同目录下新增文件,扩展名为.mine,其内容是发生冲突时本地副本的文件内容。

          (3)与冲突文件同目录下新增文件,扩展名为.r小版本号,例如MyCRM.java.r13,其内容是冲突发生之前,服务器端的文件内容,可以作为解决冲突的参照。

          (4)与冲突文件同目录下新增文件,扩展名为.r大版本号,例如MyCRM.java.r14,其内容是冲突发生时,服务器端的文件内容。

    ②解决冲突

          (1)在冲突文件上点右键→Team→编辑冲突...→出现如下界面

    以对比的方式将本地内容与冲突内容显示出来,其中左侧为本地内容,右侧为冲突内容。其中本地内容是可以修改的。

          (2)根据需要和实际情况将本地内容更正——这个过程很可能需要牵涉冲突的两位开发人员进行必要的沟通——机器与程序目前还不能完全取代人工智能。更正后文件图标会变成一个“四角形”,同时冲突文件内的<<<<<<< .mine、=======以及>>>>>>> .r14等标记都会被去掉。

          (3)在冲突文件上点右键→Team→标记为解决

     

          此时.mine文件和.r版本号文件都会被自动删除,冲突文件的图标变为“*”,表示可以提交。

          (4)提交文件,文件图标变为“金色圆柱体”。

  • 相关阅读:
    14章 InnoDB存储引擎
    archer配置LDAP
    月薪过万的90后,爱情却败给了房子
    postgresql 只改一行就获得100倍性能提升
    数据库优化方面
    greenplum command center gpcc安装文档
    centos6.9 greenplum5.3离线部署文档
    max_prepared_transactions设置不正确时的症状
    MySQL事务隔离级别详解
    激活Windows office jetbrain pycharm goland idea clion
  • 原文地址:https://www.cnblogs.com/wl-naruto/p/9180937.html
Copyright © 2020-2023  润新知