- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SVN培训文档V3.0
一、对SVN建立正确的认识:
SVN代码服务器,采用的是“拷贝—修改—合并”的方式,来实现代码管理和维护的。
“拷贝—修改—合并”模型:在此种模型里,每一个客户联系项目版本库建立一个个人工作拷贝(即,版本库中文件和目录在本地的映射)。用户并行工作,修改各自的工作拷贝,最终,各个私有的拷贝合并在一起,成为最终的版本。此种系统通常可以辅助合并操作,但是最终要靠人工去确定正误。
拷贝—修改—合并”模型感觉是有一点混乱,但在实践中,通常运行的很平稳,用户可以并行的工作,不必等待别人,当工作在同一个文件上时,也很少会有交迭发生,冲突并不频繁,处理冲突的时间远比等待解锁花费的时间少。
最后,一切都要归结到一条重要的因素:用户交流。当用户交流贫乏,语法和语义的冲突就会增加,没有系统可以强制用户完美的交流,没有系统可以检测语义上的冲突,所以没有任何证据能够承诺锁定系统可以防止冲突,实践中,锁定除了约束了生产力,并没有做什么事。
二、SVN常用命令介绍:
1、SVN辅助命令:
1)$svn checkout(co) svn://68/secosii/trunk/platform
从代码服务器下载platform工程到本地。可以增—revision(-r)参数,
指定具体版本下载。如:
$svn co -r 2220 svn://68/secosii/trunk/platform
2)$svn cat svn://68/secosii/trunk/platform/filename.c 取得在特定版本的某一个文件显示在当前屏幕。
$svn cat –r 2220 svn://68/secosii/trunk/platform/filename.c
3)$svn ann svn://68/secosii/trunk/platform/filename.c
与cat相似,但可以显示源文件每一行的最后一次修改的版本和作者
$svn list svn://68/secosii/trunk/platform
显示一个目录在某一版本存在的文件。
$svn list –r 2220 svn://68/secosii/trunk/platform
加--verbose (-v)参数可以显示文件最后修改版本和修改时间
$ svn list –r 2220 –v svn://68/secosii/trunk/platform
$ svn info
显示当前目录信息
$svn info | grep URL
显示当前目录对应的服务器上的目录地址
$svn info | grep Root
显示当前目录对应的服务器上工程的根目录地址
$svn log
查看修改日志,只显示当前目录下文件修改的日志。如需要全部日志,可以到建立拷贝的根目录下去执行此命令。
$svn log -r 2220 //可以指定版本号
$svn log -r {2010-10-13} //可以指定日期
$svn log -r {2010-10-13 23:59} //可以指定具体时间
$svn log –r {2010-10-10}:{2010-10-20} //可以指定时间段
$svn log –r {2010-10-10}:2220 //可以指定时间和版本号段
$svn log -r 8 -v //输出会包括一个路径的修改历史。--verbose
$svn log -v --stop-on-copy //在svn的log中查看建立分支以来的改动记录
修改版本关键字:
HEAD 版本库中最新的版本。
BASE 工作拷贝中原始修订版本。
COMMITTRED 在BASE版本之前一个项目最后修改的版本。
PREV 在COMMITTED版本之前的那个版本
7) $svn update //从服务器上更新代码
$svn update –r 80 //回退到服务器上的之前版本
常用状态符:
U 文件更新了(从服务器收到修改)
A 文件或目录被添加到工作拷贝
D 文件或目录在工作靠被删除了
R 文件或目录在工作拷贝已经被替换了
G 文件接收到版本库的更改,你的本地版本也已经修改,但改变没有相互影响
C
文档评论(0)