SVN之由浅入深
1. 安装svn
[root@svn-server ~]# rpm -qa subversion [root@svn-server ~]# yum remove subversion [root@svn-server ~]# yum -y install subversion [root@svn-server ~]# svnversion --version
2. 启动svn
mkdir -p /svn/project
/usr/bin/svnserve -d -r /svn/project 默认端口3690
开机启动 echo "/usr/bin/svnserve -d -r /svn/project" >> /etc/rc.local
停止svn killall svnserve
启动 killall svnserve && /usr/bin/svnserve -d -r /svn/project
更换端口 /usr/bin/svnserve -d -r /svn/project --listen-port 3391
3. 代码库创建及配置
1. 创建代码库
svnadmin create /svn/project
[root@devops project]# ls
conf db format hooks locks README.txt
2. 设置代码库的登录账号和密码
conf/passwd 用来设置账号和密码
[users]
# harry = harryssecret
# sally = sallyssecret
yangjianbo = zhen.com
3. 设置代码库的操作权限
权限主体可以是别名,用户组,用户或*
别名在前面加&
用户组在前面加@
权限可以r,w,rw和空,空表示没有任何权限
[aliases] yunwei = yangjianbo [groups] admin = yangjianbo dev = houzhen [/] &yunwei = rw @dev = r
4. 客户端使用
1. 客户端安装svn
yum install -y subversion
2. 客户端下载svn代码
# svn co http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码
# svn co svn://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码
# svn checkout http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名
# svn checkout svn://路径(目录或文件的全路径) [本地目录全路径] --username 用户名
3. 客户端导出目录树
svn导出(导出一个干净的不带.svn文件夹的目录树)
svn export [-r 版本号] http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名
svn export [-r 版本号] svn://路径(目录或文件的全路径) [本地目录全路径] --username 用户名
svn export 本地检出的(即带有.svn文件夹的)目录全路径 要导出的本地目录全路径
4. 客户端添加新文件并提交
单个文件
svn add 文件名称
svn commit -m "添加文件"
添加多级目录和文件
svn add *
svn commit -m "添加目录"
5. 查看版本号
svn info
6. 删除文件
svn delete 文件名或目录名
svn commit -m "del"
7. 查看日志
svn log 显示代码库所有修改记录
svn log 1.txt 显示修改1.txt的所有记录
8. 列出代码库下的文件和目录
svn ls
9. 恢复本地修改
[root@redis_server_194 a]# echo "houzi" >> 1.txt [root@redis_server_194 a]# cat 1.txt yangjianbo ceshi wo zui niubi houzi [root@redis_server_194 a]# svn revert 1.txt 已恢复“1.txt” [root@redis_server_194 a]# cat 1.txt yangjianbo ceshi wo zui niubi
10. 加锁解锁
svn lock -m "加锁" 文件名
svn unlock 文件名
11. 比较差异
svn diff 文件名
svn diff -r 版本号1:版本号2 文件名
12. 查看文件或目录状态
svn stat 文件名
?:不在svn的控制中; M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定
13. 分支
新建一个分支copy
# svn copy branchA branchB -m "make B branch"
表示从branchA拷贝出一个新分支branchB
======================================================================= 合并内容到分支merge # svn merge branchA branchB 把对branchA的修改合并到分支branchB5. windows客户端使用TortoiseSVN
1. 安装软件
2. 设置用户和密码
3. 重置用户和密码
桌面右键–>TortoiseSVN–>Settings
Saved Data–>Authentication data–>Clear all–>确定
重新 Checkout 或者 SVN Updata 输入访问的 svn 地址
输入账号密码即可登陆成功
4. 其他的操作与linux客户端命令一致

浙公网安备 33010602011771号