UNIX LINUX开发环境使用SVN方法探讨
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Unix&Linux开发环境使用SVN方法探讨一、 DAS现有的工作模式:
二、使用SVN的工作方式
三、DAS开发环境
DAS系统的开发环境种类多,常用到有Solaris、AIX、HP-UX、Redhat等,SVN命令行支持所有的开发平台,可以通过SVN命令快速执行操作。也可以通过JAVA的方式,运行在Eclipse或者第三方图形工具。
SVN支持平台列表
四、SVN客户端常用命令简介:
1、检出
svn co http://路径(目录或文件的全路径)[本地目录全路径] --username用户名--password密码svn co svn://路径(目录或文件的全路径)[本地目录全路径] --username用户名--password密码
svn checkout http://路径(目录或文件的全路径)[本地目录全路径] --username用户名
svn checkout svn://路径(目录或文件的全路径)[本地目录全路径] --username用户名
注:如果不带--password参数传输密码的话,会提示输入密码,建议不要用明文的--password 选项。
其中username与password前是两个短线,不是一个。
不指定本地目录全路径,则检出到当前目录下。
例子:
svn co svn://192.168.0.3/测试工具/home/testtools--username wzhnsc
svn co http://192.168.0.3/test/testapp --username wzhnsc
svn checkout svn://192.168.0.3/测试工具/home/testtools--username wzhnsc
svn checkouthttp://192.168.0.3/test/testapp --username wzhnsc
2、导出(导出一个干净的不带.svn文件夹的目录树)
svn export[-r版本号] http://路径(目录或文件的全路径) [本地目录全路径] --username用户名
svn export[-r版本号] svn://路径(目录或文件的全路径) [本地目录全路径] --username用户名
svn export本地检出的(即带有.svn文件夹的)目录全路径要导出的本地目录全路径注:第一种从版本库导出干净工作目录树的形式是指定URL,
如果指定了修订版本号,会导出相应的版本,
如果没有指定修订版本,则会导出最新的,导出到指定位置。
如果省略本地目录全路径,URL的最后一部分会作为本地目录的名字。
第二种形式是指定本地检出的目录全路径到要导出的本地目录全路径,所有的本地修改将会保留,
但是不在版本控制下(即没提交的新文件,因为.svn文件夹里没有与之相关的信息记录)的文件不会拷贝。
例子:
svn export svn://192.168.0.3/测试工具/home/testtools--username wzhnsc
svn export http://192.168.0.3/test/testapp --username wzhnsc
svn export/home/testapp/home/testtools
3、添加新文件
svn add文件名
注:告诉SVN服务器要添加文件了,还要用svn commint -m真实的上传上去!
例子:
svn add test.php <-添加test.php
svn commit -m“添加我的测试用test.php“ test.php
svn add *.php <-添加当前目录下所有的php文件
svn commit -m“添加我的测试用全部php文件“ *.php
4、提交
svn commit-m“提交备注信息文本“[-N][--no-unlock]文件名
svn ci-m“提交备注信息文本“[-N][--no-unlock]文件名
必须带上-m参数,参数可以为空,但是必须写上-m
例子:
svn commit -m“提交当前目录下的全部在版本控制下的文件“ * <-注意这个*表示全部文件
svn commit -m“提交我的测试用test.php“ test.php
svn commit -m“提交我的测试用test.php“ -N --no-unlock test.php <-保持锁就用–no-unlock开关
svn ci -m“提交当前目录下的全部在版本控制下的文件“ * <-注意这个*表示全部文件
svn ci -m“提交我的测试用test.php“ test.php
svn ci -m“提交我的测试用test.php“ -N --no-unlock test.php <-保持锁就用–no-unlock 开关
5、更新文件
svn update
svn update-r修正版本文件名
svn update文件名
例子:
svn update<-后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本
svn update -r200 test.cpp<-将版本库中的文件test.cpp 还原到修正版本(revision)200
svn update test.php<-更新与版本库同步。
提交的时候提示过期冲突,需要先update 修改文件,
然后清除svn resolved,最后再提交commit。
6、删除文件
svn delete svn://路径(目录或文件的全路径) -m“删除备注信息文本”
推荐如下操作:
svn delete文件名
svn ci-m“删除备注信息文本”
例子:
svn delete svn://192.168.1.1/testapp/test.php -m“删除测试文件test.php”
推荐如下操作:
svn delete test.php
svn ci -m“删除测试文件test.php”
7、加锁/解锁
svn lock-m“加锁备注信息文本“[--force]文件名
svn unlock文件名
例子:
svn lock -m“锁信测试用test.php文件“ test.php
svn unlock test.php
8、比较差异
svn diff文件名
svn diff-r修正版本号m:修正版本号n文件名
例子:
svn diff test.php<-将修改的文件与基础版本比较
svn diff -r 200:201 test.php<-对修正版本号200 和修正版本号201 比较差异
9、查看文件或者目录状态
svn st目录路径/名
svn status目录路径/名<-目录下的文件和子目录的状态,正常状态不显示
【?:不在svn的控制中; M:内容被修改;C:发生冲突;
A:预定加入到版本库;K:被锁定】
svn -v目录路径/名
svn status -v目录路径/名<-显示文件和子目录状态
【第一列保持相同,第二列显示工作版本号,
第三和第四列显示最后一次修改的版本号和修改人】
注:svn status、svn diff和svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
10、查看日志
svn log文件名