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的修改合并到分支branchB

5.  windows客户端使用TortoiseSVN

    1.  安装软件

    2.  设置用户和密码

    3.  重置用户和密码

        桌面右键–>TortoiseSVN–>Settings

        Saved Data–>Authentication data–>Clear all–>确定

        重新 Checkout 或者 SVN Updata 输入访问的 svn 地址

        输入账号密码即可登陆成功

    4.  其他的操作与linux客户端命令一致

  

posted @ 2023-09-06 16:49  奋斗史  阅读(4)  评论(0)    收藏  举报