SVN 记录冲突、忽略
之前对SVN不熟悉,一碰到冲突就怕得要死,不知道应该怎么处理。今天必须要正视这个问题,研究一下。
一、冲突
SVN非常智能,它不像VSS那样,一个人在改的时候必须以独占的方式签出文件,导致其他人不能够修改。而是允许多个人同时修改一个文件。这就大大减少了资源竞争的问题,之前用VSS经常要问同事:"改完没,签入一下"。
1、冲突是如何发生的
- 两个人修改了不同文件?不会有冲突,因为它们并不相关。
- 两个人同时修改了同一个文件的不同位置?不会有冲突,SVN很好地解决了这个问题。
- 两个人同时修改了同一个文件的相同位置?这个时候会产生冲突。
情景:工程师A修改了a.txt的第一行,提交了。工程师B也修改了a.txt的第一行,然后上传,这时SVN会提示存在冲突。
我们来重现一次这样的情景。首先,我们创建3个文件夹,一个服务端,两个客户端。SVN关联它们。然后上传1个a.txt上去。
同时在两个文件夹,打开并修改a.txt文件。
修改完毕后,文件夹提示有文件未上传:
上传client1,没问题,直接变绿。但是当上传client2的时候,SVN提示a.txt文件过期。
这时,重新获取client2文件夹,如果此时SVN发现a.txt文件修改的不是同一行,那么也没问题了,但是很遗憾,这里我们修改的都是两个文件夹的第一行。
SVN提示冲突,文件夹变成“黄色叹号”。
2、冲突的解决
我们选择编辑冲突:
此时,在一侧上右键会有如下选择项供我们选择:
1、Use this text block:使用此文本块;
2、Use this whole file:使用这个文件;
3、Use text block from 'mine' before 'theirs':合并,将我的改动放在别人的改动之前;
4、Use text block from 'theids' before 'mine':合并,将别人的改动放在我的改动之前;
以上4个选项,点击之后就会在最下面的TextArea看到最终效果,选择想要的版本就OK了。
如果是一个个处理,可以选择跳转到上一个/下一个冲突地方:
完事了,标记为已解决冲突就OK了。
二、SVN忽略文件
在项目中,有些文件可能是不需要SVN管理的,因为有些文件可能每次生成都会改变,例如bin目录。可以考虑将这些目录从SVN管理中忽略掉,就不用每次Comit都更新这些文件。其操作方式如下:
1、在SVN中忽略某文件:
2、忽略后,如果提交,此时服务器端会删除掉该文件,其图标显示如下:
3、如果又想将已经忽略的文件添加回来:
通常来说,一个.Net的Web项目,如下文件夹是不需要添加到SVN管理的:
- bin文件夹;
- obj文件夹;
- *.user文件;
- .suo文件;
SVN 记录冲突、忽略的更多相关文章
- svn文件冲突,树冲突详解
解决冲突 偶尔,当你从版本库更新.合并文件时,或者切换工作副本至一个不同的 URL 时你会遇到冲突.有两种冲突: 文件冲突 当两名(或更多)开发人员修改了同一个文件中相邻或相同的行时就会发生文件冲突. ...
- SVN 树冲突的解决方法(Ubuntu 环境)
今天在 服务器上(Ubuntu) svn up 更新的时候,出现了 SVN 树冲突 root@futongdai:~# cd /home/wwwroot/newcrm.ofim.com/ root@f ...
- svn设置提交忽略某些文件或文件夹
在svn客户端,想设置忽略提交.class文件,通过 properties > New > Other 添加一个忽略的属性,,还是不行:部分屏蔽了,部分class还是在列表中 再次参考了一 ...
- SVN版本冲突解决详解
SVN版本冲突解决详解 分类: SVN(SubVersion)2009-11-23 15:45 27014人阅读 评论(12) 收藏 举报 svnsubversion服务器文档工作c 版本冲突原因: ...
- SVN解决冲突
SVN冲突出现场景 如今是一个团结协作的时代,开发一个系统,往往会多人协作共同完成.版本管理是必不可少的,常用的软件有Git,SVN等.今天说一下,SVN管理版本时,如果出现冲突后,如何快速解决冲突. ...
- SVN版本冲突问题
--------------------siwuxie095 SVN 版本冲突问题 如:Jack 和 Mary 从仓库中将项目下载到本地,然后 Jack 修改了 项目中的一个文件,并上传到仓库中,之后 ...
- SVN版本冲突中 Files 的值“ < < < < < < < .mine”无效路径中具有非法字符的解决办法
.NET 中 SVN版本冲突中 Files 的值“ < < < < < < < .mine”无效路径中具有非法字符的解决办法: 一. 1.将项目逐个进行编译, ...
- SVN版本冲突,导致出现Files 的值“ < < < < < < < .mine”无效。路径中具有非法字符。
SVN版本冲突,导致出现Files 的值“ < < < < < < < .mine”无效.路径中具有非法字符. 右键编辑.... 打开并删除含有'<&l ...
- svn冲突问题详解 SVN版本冲突解决详解
svn冲突问题详解 SVN版本冲突解决详解 (摘自西西软件园,原文链接http://www.cr173.com/html/46224_1.html) 解决版本冲突的命令.在冲突解决之后,需要使用svn ...
随机推荐
- oProfile 学习
oProfile工具可以分析CPU的负载量 只要对目标程序加上 -g 后重新编译,即可用oProfile进行分析 例如在测试apache的性能时, 增加 -g 编译选项[crifan@localhos ...
- LPC1768之中断
一外中断:只有特定的4个外中断引脚, 1 在特定的引脚上,引脚功能要选对应的外中断功能 2设定的触发条件(高低电平.上升/下降沿) 3 NVIC设定,特定的通道. 二GPIO中断: 1只有GPIO0和 ...
- JAVA元运算符,一元运算符,二元运算符,三元运算符
一元运算符: 序号 一元运算符 说明 1 i++ 给i加1 2 i-- 给i减1 3 ++i 给i加1 4 --i 给i减1 i++;/*例:int i=1;i++;//先将i的值1赋值给i,然后i再 ...
- jquery extend中
var $=123; <src="jquery.js"> //加载jquery.js的时候 里面有句 _$=window.$,保存123的 //no ...
- 利用mysql-proxy 代理无法迁移数据库
一.什么是数据库迁移? 随着业务的增长或机器老化等原因,不可避免会碰到将数据库从一台机器迁移到另一台机器(集群)的问题.数据库迁移可分为冷迁(离线)和热迁(在线实时). 二.如何无缝迁移? 以旧库 1 ...
- python 读取文本
将文本转换到NumPy 数组中,做机器学习或其他任何任务,文本处理的技能必不可少.python 实现实现了很精简强大的文本处理功能: 假设 文件 traindata.csv 中有数据 1000行,3列 ...
- iPhone的定位技术与Core Location框架
来源:http://www.cnblogs.com/lovecode/archive/2011/12/24/2300579.html iPhone定位来源通常有:1. GPS定位 2. WiFi定位 ...
- [ActionScript 3.0] AS3.0 获取像素点的灰度
/** * 获取像素点的灰度 * @color 像素点的颜色值 * @return uint */ function getGray(color:uint):uint { return getR(co ...
- [Java] File类的常用操作
package test.file; import java.io.File; import java.io.IOException; public class TestFile { public s ...
- python中的enumerate函数
enumerate 函数用于遍历序列中的元素以及它们的下标: >>> for i,j in enumerate(('a','b','c')): print i,j 0 a1 b2 c ...