svn 状态汇总

本文详细介绍了SVN的基本概念、版本比对原理及常用命令。重点讲述了乌龟客户端的使用,包括设置ignore和external属性。同时,提出了SVN使用规范,如提交须写注释、禁止提交未编译代码等,以及一些实用技巧,如如何进行分支合并。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

一、 基本概念

版本库:服务器上的文件目录
工作拷贝:svn co分支到你本地的文件夹目录
工作副本:co到本地的目录下的每个文件夹里的.svn文件夹。记录了"帮助 Subversion 识别哪些文件做过修改,哪些文件相对于别人的工作已经过期"的信息。

二、SVN版本比对原理

通过.svn与版本库比对。
".svn"文件夹下记录2个信息:
1、是当前用户co下分支的版本号,
2、是记录用户本地修改的最后时间戳。
通过以上2个信息,版本库能识别不同的状态,从而给予或限制用户做什么类型的操作。
	
当出现版本库中该分支已经有人提交代码(即版本库中该分支的版本更新),并且本地自己有修改,此时,如果用户提交,版本库先比较用户本地工作拷贝.svn中的版本和版本库版本,同时比较时间。她将需要用户先svn up,然后看看是否有冲突,没冲突再svn ci。

三、svn常用命令

以rate应用为例,实际说明操作。
1、svn cp
svn cp http://svn.alibaba-inc.com/repos/ali_cn/olps/rate/branches/20100810_7368_2 http://svn.alibaba-inc.com/repos/ali_cn/olps/rate/branches/20100817_xfc_DEV -m"xfc cp"
【注】:该动作已经由aone接手操作。
2、svn co(svn checkout)
svn co http://svn.alibaba-inc.com/repos/ali_cn/olps/rate/branches/20100817_xfc_DEV rate (【注】:自定义目录,本地目录)
3、svn st
!       biz/remark/src/java/com/alibaba/china/rate/biz/remark/service/impl/RemarkServiceImpl.java
D       biz/remark/src/java/com/alibaba/china/rate/biz/remark/service/impl/RemarkTempServiceImpl.java
?       biz/remark/src/java/com/alibaba/china/rate/biz/remark/util/MyTestUtil.java
A       biz/remark/src/java/com/alibaba/china/rate/biz/remark/util/MyTestUtil2.java
X       deploy/jboss_server
M       web/remark/src/java/com/alibaba/china/rate/remark/web/action/ListsAction.java
?       bundle/war/src/webroot/META-INF/autoconf/log4j.xml.r250274
?       bundle/war/src/webroot/META-INF/autoconf/log4j.xml.mine
?       bundle/war/src/webroot/META-INF/autoconf/log4j.xml.r250702
C       bundle/war/src/webroot/META-INF/autoconf/log4j.xml
【注】:
"!"表示:本地执行了"rm -rf",但是未执行"svn del"的状态。
"?"表示:本地新加了一个文件,但是未执行"svn add"的状态。
"A"表示:本地新加了一个文件,且执行了"svn add"的状态。
"X"表示:执行了"svn external"的状态。
"D"表示:本地执行了"rm -rf",且执行了"svn del"的状态。
"M"表示:本地修改了该文件时的状态。
"C"表示:冲突状态,是重点关注状态之一。
产生的场景:A\B两个开发修改同一处代码,其中A开发已经提交,B开发在svn up的时候,就会出现conflict的提示,需要用解决冲突后,svn resolved下,具体见svn resolved。

4、svn up
【注】:当出现多个开发在同一个项目中开发同一个应用分支时,提交代码前都需要先做一次"svn up",保证合并最新代码,同时解决本地冲突。

5、svn info
【注】:一般用于获取当前分支url。
6、svn diff
M       web/remark/src/java/com/alibaba/china/rate/remark/web/action/ListsAction.java
【注】:以上这个""状态的文件,想看它相对你最新一次co的版本修改了那些&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值