以前搞开发用过VSS,后来接触过CVS,可能是没有经过系统培训,一直没有用得好...
最近,由于网站开发需要,以及自己电脑上的文档管理需要,再次想起版本控制的问题,经过了解发现SVN是一个好的解决方案,但是配置与命令式界面感觉不太人性化,无意中发现服务端的有支持WIN32的VisualSVN Server,客户端有TortoiseSVN,我把这两个一起使用,发现是一个很不错的方案。
http://tortoisesvn.net/docs/nightly/TortoiseSVN_zh_CN/index.html
有了以上方案,再结合以下一些技巧,真是棒极了
1、版本库的建议
- 一个公司或者部门建立一个仓库,项目存放在目录里最好,这样可以实现多个项目之间进行复制,比较,合并。
- 建议每个项目下面建立三个目录,分别是Trunk、Branches、Tags,其中Trunk存放开发主线,Branches存放分支,如:定制项目,特殊使用项目等,Tags里存放是各种发布版本。以下是我摘抄网上使用分享:
- 需求一:有一个客户想对产品做定制,但是我们并不想修改原有的svn中trunk的代码。
方法:
svn copy svn://server/trunk svn://server/branches/ep -m "init ep"用svn建立一个新的branches,从这个branche做为一个新的起点来开发
需求二:
产品开发已经基本完成,并且通过很严格的测试,这时候我们就想发布给客户使用,发布我们的1.0版本方法:
svn copy svn://server/trunk svn://server/tags/release-1.0 -m "1.0 released"
用svn建立一个新的Tags,如:Release-1.0.0。
咦,这个和branches有什么区别,好像啥区别也没有?
是的,branches和tags是一样的,都是目录,只是我们不会对这个release-1.0的tag做修改了,不再提交了,如果提交那么就是branches需求三:
有一天,突然在trunk下的core中发现一个致命的bug,那么所有的branches一定也一样了,该怎么办?方法:
svn -r 148:149 merge svn://server/trunk branches/ep
其中148和149是两次修改的版本号。
需求四:
大多数项目会有一些文件(夹)不需要版本控制,如编译产生的*.obj, *.lst,等。每次送交,TortoiseSVN提示那些文件不需要控制,挺烦的。这时候可以把这些文件加入忽略列表。
方法:
1、如果没有版本控制的文件,选中后,右键点击 “ Add to Ignore List(添加到忽略列表)”
2、如果已经是版本控制的文件,选中后,右键点击 “deleted and Add to Ignore List(删除并添加到忽略列表)”
好了,今天就分享到这里,以后有新的体会再追加...
附录:svn命令行使用说明
====================
0、查看帮助
命令: svn help
1、同步(checkout)服务器数据到本地
命令: svn checkout <url> [directory]
svn co <url> [directory]
例:把 https://svn.test.cn/book/network/ 目录同步到本地的 /usr/local/svn/book/network 目录
# cd /usr/local/svn/book
# svn checkout https://svn.test.cn/book/network/
...
(R)eject, accept (t)emporarily or accept (p)ermanently? t
...
Password for 'wandering': <回车> # wandering是我当前登录系统的帐号
Authentication realm: <https://svn.test.cn:443> book Subversion Repository
Username: jack
Password for 'jack': <password>
...
2、提交(commit)本地文档到服务器
命令: svn commit -m "" [directory|file]
svn ci -m "" [directory|file]
例:把 /usr/local/svn/book/network/tcpip.txt 提交到服务器,前提是服务器上已经有此文件。
# cd /usr/local/svn/book/network/
# svn commit -m "" # -m是记录的log信息,可以为空
一般情况下,只要在需要更新的数据文件所在的目录执行 svn ci -m "" 即可。
3、更新(update)服务器数据到本地
命令: svn update [directory|file]
svn up [directory|file]
例:把 https://svn.test.cn/book/network/ 目录中的内容更新到本地
# cd /usr/local/svn/book/network
# cd update
以上是更新到最新版本,如果要更新到旧的指定版本,按以下命令,其中456就是版本号
svn up -r 456
4、查看日志
命令: svn log [directory|file]
例:查看 /usr/local/svn/book/network 目录的修改日志
方法一:
# cd /usr/local/svn/book/network
# svn log
方法二:
# svn log /usr/local/svn/book/network
5、增加(add)本地数据到服务器
命令: svn add <directory|file>
作者: 蔡文卫 Leo@yicike.com
版权所有:亿赐客比较购物搜索网(http://www.yicike.com/)
原创文章,转载请注明: 转载自读思客




