SVN教程(2)svn常用命令说明
一、svn命令语法格式
svn <subcommand> [options] [args] #svn+子命令+选项+参数
二、svn常用子命令(括号代表可简写):
checkout(co):从源码库迁出一个指定版本的项目副本到客户端
update(up):从服务器上同步项目到本地,在日常使用中checkout用于第一次迁出,之后都是使用up来同步
delete(del,rm,remove):删除本地或者svn服务器上的文件
import:将本地文件导入到源码库中,通常用于第一次上传让服务器生成代码项目,以后还需要上传则是commit
add:在commit之前需要先把文件add到SVN中,然后再commit才能正式上传
commit(ci):提交已修改过的本地文件到服务器
info:查看某文件信息,如修改时间,版本号
status:查看svn工作目录的当前状态
copy(cp) :复制一份项目副本
diff(di):
三、svn命令操作流程示例
1、首先在客户端上创建一个目录用于存放项目数据
mkdir /svndata
2、使用命令行方式进行Checkout的操作,这样可以把SVN服务器中的代码拉到本地,并且可以通过SVN进行管理
cd /svndata/
svn checkout http://192.168.52.47:8080/svn/pluto-web --username 'root' --password 'JJ9pSisYZpq514rB' --no-auth-cache; #pluto-web是项目名字,请自行更改
3、这个时候终端会提示是否保存密码,输入yes后下次连接就不再需要密码。我在测试的时候遇到一个问题,Checkout的时候报错“does not appear to be a URL”,网上查也没查到,于是试用了各种方法,最后是切换到其他目录进行操作,不能直接在需要迁出的目录内执行该命令。
4、我们可以用windows客户端commit一个文件名叫QQ.txt,再用linux客户端update查看更新,如果update不行可以重新co一次,作用是一样的
5、在不下载文件的情况下查看SVN服务器中的文件
svn ls svn://192.168.38.128/weixin
6、从Linux客户端上传文件到SVN服务器,需要先使用add添加文件,然后再用commit提交
svn add file1 file2 file3
svn ci -m "test file"
下面是一个工作实例,把DNS的目录导入到SVN中作为备份:
1、将A服务器的DNS目录导入到SVN服务器中
svn import /data/named/etc/ http://192.168.17.47:8080/svn/publish/dns/etc/ -m "import dns conf" --username 'svnadmin'
svn import /data/named/zone/ http://192.168.17.47:8080/svn/publish/dns/zone/ -m "import dns zone" --username 'svnadmin'
2、导入成功后在SVN服务器上执行一次svn update命令,正常情况下就会看到刚导入的文件
3、这个时候回到A服务器,执行svn checkout命令把刚才导入的目录变成SVN的工作副本,否则以后依然无法使用svn命令对其进行管理,会提示svn is not a working copy
svn checkout http://192.168.17.47:8080/svn/publish/dns/zone --username=svnadmin
svn checkout http://192.168.17.47:8080/svn/publish/dns/etc --username=svnadmin
4、如果import指定错目录或者以后如果需要在SVN服务器上删除某目录的话,执行svn delete
svn delete http://192.168.17.47:8080/svn/publish/dns/ -m "delete workplace-dns" --username 'svnadmin'
评论