SVN服务器搭建和使用(三)
转自:http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2408089.html
接下来,试试用TortoiseSVN修改文件,添加文件,删除文件,以及如何解决冲突等.
添加文件
在检出的工作副本中添加一个Readme.txt文本文件,这时候这个文本文件会显示为没有版本控制的状态,如图:
这时候,你需要告知TortoiseSVN你的操作,如图:
加入以后,你的文件会变成这个状态,如图:
这时候使用TortoiseSVN进行提交.这样别人就能看到你所做的更改了,如图.
修改文件
使用TortoiseSVN更新,修改工作副本中的Readme.txt文件,加入"hello world!",然后保存,你会发现Readme.txt文件的图标改变了,如图:
这个红色的叹号代表这个文件被修改了,这时候,提交更改,其他人即可看到你的更改.
重命名文件
使用TortoiseSVN更新,重命名工作副本中的Readme.txt文件为"Readme1.txt',然后保存,你会发现Readme.txt文件的图标改变了,如图:
更添加文件一个道理,这时候你需要告诉TortoiseSVN你的操作,如图:
加入以后,提交,这时候版本库中的Readme.txt文件将会被重命名为"Readme1.txt".
删除文件
使用TortoiseSVN更新,使用TortoiseSVN删除工作副本中的Readme.txt文件,然后提交,版本库中的相应文件即被删除掉了,如图:
强制写注释
为了以后你能更清晰的看到你所做的每一次更改的原因,你在每次提交的时候应该写上注释,而且尽量详细.如图:
但是,可能有的人因为觉得太繁琐,而不填写注释,这不利于以后的版本控制,可以将强制在提交的时候写注释,首先单击右键,选择TortoiseSVN->属性,如图:
在弹出的对话框中,点击新建->日志大小,设置提交日志的最小字符数和锁定日志的最小字符数为20,提交文本框中显示边线的字符位置设置为100,点击确定,如图:
提交,以后再次提交的时候,如果输入的注释少于20个字符,将无法提交.
冲突解决
冲突问题是最常见的问题,它是这样产生的,A用户check out了一个工作副本A,接着B用户又check out了一个工作副本B.然后A用户对副本A中的文件C做了修改(可以是内容修改,文件删除,重命名,以及位置移动),并且提交.这时候B用户也对文件C的相同部分做了修改,这时候如果B用户进行提交,会先被告知版本过时,要求更新,然后更新的时候会提示冲突了,这时候可以用冲突编辑器进行手动选择.
冲突解决方案,转自:http://blog.csdn.net/windone0109/article/details/4857044
在冲突的文件上(选中文件--右键菜单—TortoiseSVN—Edit conflicts(解决冲突)),出现如下窗口
Theirs窗口为服务器上当前最新版本
Mine窗口为本地修改后的版本
Merged窗口为合并后的文件内容显示
3、 如果要使用服务器版本,在Theirs窗口选中差异内容,右键,选择Use this text block(使用这段文本块)。
同理如果要使用本地版本,在协商后,在Mine窗口右键,选择Use this text block(使用这段文本块)。
貌似可以Copy then Merge。。。周一补上。。
如何降低冲突解决的复杂度:
1、当文档编辑完成后,尽快提交,频繁的提交/更新可以降低在冲突发生的概率,以及发生时解决冲突的复杂度。
2、在提交时,写上明确的message,方便以后查找用户更新的原因,毕竟随着时间的推移,对当初更新的原因有可能会遗忘
3、养成良好的使用习惯,使用SVN时每次都是先提交,后更新。每天早上打开后,首先要从版本库获取最新版本。每天下班前必须将已经编辑过的文档都提交到版本库。
最后提一点SVN的两个版本发布方法,第一是主干开发,分支发布,如果分支有改动,再Merge到主干上。这个非常适合小团队开发。
第二是主干发布,分支开发,分支开发完Merge到主干上,这样主干永远是最新的版本。这个适合大公司大项目开发。是因为如果A项目开发完成,B项目还只开发了一半,那么A项目可以不受影响的发布。