相信刚開始学习使用SVN的小伙伴在项目合作开发的过程中一定常常遇到一些影响到自己编写的代码的苦恼。我这里列举了几种常见的问题以及问题的解决方法:

1.误删除和误操作的问题

问题1:有A和B两个人一块合作写项目的时候,B在写代码的时候不小心更改了A写的代码文件的内容提交到了仓库,A该怎样找回自己原来的代码呢?

解决方法:

右键点击被改动的文件---->点击TortoiseSVN选项----->点击Show log选项,会出现如图所看到的的窗体,

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

然后右键点击A的记录--->点击Revert to this revision选项---在弹出的对话框中选择Revert选项。当出现这个窗体中的内容时说明恢复成功了。能够打开看一下文件里内容是否恢复到之前的内容,非常奇妙吧。

问题2:B不小心删除了A写的代码文件。而且提交了。A该怎样找回自己原来的代码文件呢?

解决方法:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

右键点击A用户check out下来的项目目录(如上图)--->点击TortoiseSVN选项----->点击Show log选项。然后找到日志中B为进行删除操作之前的代码文件,复制出来。重命名后再次提交项目就能够了。

如图:

2.多个用户同一时候改动一个从仓库中update下来的最新的文件后,晚提交的用户提交不通过的问题:

问题1:(A和B两个用户改动的内容的位置不一致)A和B两个用户都对同一个从仓库中刚update下来的文件进行改动后。B先进行了提交,A提交的时候出现错误,A应该如何处理呢?(后提交的用户会出现这样的错误截图)

错误截图:

终于文件中的内容是SVN自己主动将两个用户改动的内容合并了(SVN自己主动合并的情况要满足:两个用户改动的内容的行数不冲突)。

如图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

解决方法:A用户找到B用户共同协商怎么处理两个人改动的代码。

问题2:(A和B两个用户改动的内容的位置同样(对同一行的内容进行了改动操作))A和B两个用户都对同一个从仓库中刚update下来的文件进行改动后。B先进行了提交。A提交的时候出现错误,A应该如何处理呢?(后提交的用户会出现这样的错误截图)

错误截图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

多出的三个文件如图:

多出的三个文件的解释(从上往下):

第一个:

第二个:(我(A)想提交的代码)

第三个:

第四个:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

解决方法:

依据上边的三个版本号的代码,A就应该知道怎么改动代码进行提交了,先恢复到如今server中最新版本号的代码文件。如图:

再跟B进行讨论究竟怎么处理改动的代码。

问题3:假设A和B冲突的代码太多的时候。A该怎么处理呢?

当遇到如图这样的情况的时候:

解决方法

就不要进行更新了。而应该选择Cancel这一项(由于明明知道有冲突就不要给自己找麻烦了)。将自己改动后的代码文件copy一份到别的地方。然后再重命名后拷贝到原来的目录以下,

进行比对就能够找出你改动后的内容跟server中的代码的不同之处。然后就能够找B进行讨论,共同改动了。


SVN版本号管理工具使用中常见的代码提交冲突问题的解决方法的更多相关文章

  1. Git学习(一) 版本号管理工具

    Git 是一个分布式版本号控制工具.它的作者 Linus Torvalds 是这样给我们介绍 Git  -- The stupid content tracker(傻瓜式的内容跟踪器) 1. Git ...

  2. git版本号管理工具的上手

    git是一个分布式的版本号管理工具 和其它集中式版本号管理 工具相比具有下面长处: 1.能够在不联网的情况下开发 2.能够方便的建立本地分支 3.本地化的日志,高速获得信息 git命令的使用 mkdi ...

  3. SVN代码提交冲突解决方案

    SVN代码提交冲突解决方案 1.若你的代码被其他人修改并提交过了,期间你自己也修改过该文件,UPDATE的时候自己代码被覆盖. 右键——>显示日志 查看该文件的更新记录 找到需恢复的版本 右键— ...

  4. Eclipse svn代码提交冲突

    Eclipse svn代码提交冲突(转) 1.Synchronize视图下查看代码冲突 1.Incoming Mode 全部update,更新到本地2.Outgoing Mode 全部commit,提 ...

  5. Xcode中SVN不能提交.a文件的解决方法

    我是搬运工!!!方便自己使用!!! 方案一: 在mac下很多svn管理工具默认都不能上传.a文件,这让人很苦恼.从网上扒了下,用命令行可以解决此问题. 打开终端,cd 进入到需要上传的.a文件所在的文 ...

  6. Java常见的几种内存溢出及解决方法

    Java常见的几种内存溢出及解决方法[情况一]:java.lang.OutOfMemoryError:Javaheapspace:这种是java堆内存不够,一个原因是真不够(如递归的层数太多等),另一 ...

  7. win10安装PS和AI后报代码为16的错误解决方法

    win10安装PS和AI后报代码为16的错误解决方法 一.总结 一句话总结:修改兼容性和以管理员方式运行就可以了 修改兼容性 以管理员身份运行 二.PS和AI安装后报代码为16的错误解决方法介绍(转) ...

  8. IOS SVN源代码管理工具使用

    01.    源代码管理工具概述(PPT)===================================================* 源代码管理工具的作用:# 能追踪一个项目从诞生一直到 ...

  9. SVN图形管理工具-Submint

    1.安装svn及相关依赖包 yum install subversion httpd mod_dav_svn apr-util-sqlite   2.下载submin wget https://sup ...

随机推荐

  1. php安装redis扩展 windows

    官方php_redis.dll 找了很久,感谢热心的网友,这是php官方的 php_redis.dll http://windows.php.net/downloads/pecl/releases/r ...

  2. skimage的安装,scikit-image

    在mac上面的安装: pip install -U scikit-image

  3. volley源代码解析(六)--HurlStack与HttpClientStack之争

    Volley中网络载入有两种方式,各自是HurlStack与HttpClientStack.我们来看Volley.java中的一段代码 if (stack == null) {//假设没有限定stac ...

  4. hdu1281 棋盘游戏 --- 最大匹配

    给一个矩形棋盘,上面有一些空格点,能够放象棋中的"车", 现给出空格的坐标,求最多能够放多少个"车"使他们互不攻击(依据象棋规则,每行每列至多仅仅能放一个), ...

  5. linux下线程

    linux下线程 线程与进程的关系: 之前转载的微信文章,进程与线程的差别已经说得比較清楚了.能够查看之前转载的文章.linux进程与线程的差别. 创建一个线程: #include<pthrea ...

  6. Linux 设备文件的创建和mdev

    引子 本文是嵌入式企鹅圈开篇--<linux字符设备驱动剖析>的姐妹篇,在上述文章里面我们具体描写叙述了字符设备驱动框架涉及的驱动注冊.通过设备文件来訪问驱动等知识.并明白通过device ...

  7. matplotlib 可视化 —— matplotlib.patches

    官方帮助文档 patches - Matplotlib 1.5.1 documentation patches 下主要包含的常用图形类有: Eclipse Circle Wedge 1. plt.gc ...

  8. 判断一个整数是否是回文数C++实现 leetcode系列(九)

    判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向 ...

  9. win32编程 画图

    void cDefense::DrawAll() { HDC hDc = GetDC(m_hWnd);//获取客户区窗口,如果该值为NULL,GetDC则获整个屏幕的窗口. HDC dcMem = C ...

  10. mysql导入数据,涉及到时间转换,乱码问题解决

    表结构: drop table if exists `qi_an_log`;CREATE TABLE `qian_log` (`dt` LONG NOT NULL COMMENT '产生日期,格式yy ...