西数超哥博客
运维经验教程分享

Linux环境下SVN客户端常用命令笔记-linux系统下如何从SVN服务端下载、提交、更新、查看、拷贝、导入项目代码

21运维原创,转载请注明出去。
关于linux系统下svn客户端命令svn,我们可以通过–help去查看一些具体用法。其中最常见的则为checkout(co)、commit(ci)、update(up)、list(ls)等几个,这些命令是非常重要的,以后需要shell或其他脚本自动化来实现自动化。其中help的内容如下:

[root@servermanager svndata]# svn --help
usage: svn subcommond [options] [args]
Subversion command-line client, version 1.7.14.
Type 'svn help ' for help on a specific subcommand.
Available subcommands:
   add
   blame (praise, annotate, ann)
   cat
   changelist (cl)
   checkout (co)
   cleanup
   commit (ci)
   copy (cp)
   delete (del, remove, rm)
   diff (di)
   export
   help (?, h)
   import
   info
   list (ls)
   lock
   log
   merge
   mergeinfo
   mkdir
   move (mv, rename, ren)
   patch
   propdel (pdel, pd)
   propedit (pedit, pe)
   propget (pget, pg)
   proplist (plist, pl)
   propset (pset, ps)
   relocate
   resolve
   resolved
   revert
   status (stat, st)
   switch (sw)
   unlock
   update (up)
   upgrade

Subversion is a tool for version control.
For additional information, see http://subversion.apache.org/

可见svn命令格式为:
svn subcommond  [options] [args] 其中子命令就是如上显示。这里我们简单做几个例子进行说明。
1,从svn服务端下载数据到本地服务器。

[root@servermanager svndata]# svn  co  svn://59.46.xx.xx/demo  /data/svndata  --username=21yunwei  --password=xxxxxx

-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:

   <svn://59.46.80.248:3690> 2d5821a4-0759-41c1-95b7-251f2fbabe15

can only be stored to disk unencrypted!  You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible.  See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/root/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? yes
A    test
A    alltask.bat
A    alltask.vbs
A    addtest.txt
A    backup.bat
Checked out revision 9.
[root@servermanager svndata]# ll
total 32
-rw-r--r--. 1 root root     0 Aug 29 22:37 addtest.txt
-rw-r--r--. 1 root root     8 Aug 29 22:37 alltask.bat
-rw-r--r--. 1 root root 20671 Aug 29 22:37 alltask.vbs
-rw-r--r--. 1 root root     8 Aug 29 22:37 backup.bat
drwxr-xr-x. 2 root root     6 Aug 29 22:37 test

2,linux客户端向svn服务端提交数据
我们创建一个svnlinux.php文件,然后提交到svn服务端。

[root@servermanager svndata]# vim   svnlinux.php
[root@servermanager svndata]# svn add svnlinux.php 
A         svnlinux.php
[root@servermanager svndata]# svn ci -m "svn data add test"
Adding         svnlinux.php
Transmitting file data .
Committed revision 17.

提交以后我们使用TortoiseSVN更新查看一下:

提交并更新成功。

3,从svn服务端更新数据到本地服务器。

[root@servermanager  svndata]# svn  update   svn://59.46.xx.xx/demo  /data/svndata  --username=21yunwei  --password=xxxxxx
Skipped 'svn://59.46.80.248/sadoc'
A    /home/svndata/testlinux
Updated to revision 14.
Summary of conflicts:
  Skipped paths: 1

当然,也可以本地服务器实现从svn本地拷贝:

[root@niaoyun43442 home]# svn co file:///application/svndata/sadoc/
A    sadoc/test
A    sadoc/testlinux
A    sadoc/alltask.bat
A    sadoc/alltask.vbs
A    sadoc/addtest.txt
A    sadoc/backup.bat
A    sadoc/21yunweitest.jnt
A    sadoc/addtest - 副本.txt
Checked out revision 15.

[root@niaoyun43442 home]# ll demo/
total 48
-rw-r--r-- 1 root root  4544 Aug 30 08:12 21yunweitest.jnt
-rw-r--r-- 1 root root     0 Aug 30 08:12 addtest.txt
-rw-r--r-- 1 root root     0 Aug 30 08:12 addtest - 副本.txt
-rw-r--r-- 1 root root     8 Aug 30 08:12 alltask.bat
-rw-r--r-- 1 root root 20671 Aug 30 08:12 alltask.vbs
-rw-r--r-- 1 root root     8 Aug 30 08:12 backup.bat
drwxr-xr-x 3 root root  4096 Aug 30 08:12 test
drwxr-xr-x 3 root root  4096 Aug 30 08:12 testlinux

4,从客户端查看svn服务端内容以及如何查看指定文件内容

[root@servermanager svndata]# svn ls  svn://59.46.xx.xx/demo 
21yunweitest.jnt
addtest - 副本.txt
addtest.txt
alltask.bat
alltask.vbs
backup.bat
test/
testlinux/
addtest.txt
alltask.bat
alltask.vbs
[root@servermanager svndata]# svn cat svn://59.46.xx.xx/demo/addtest.txt
hello svn,add test.

注意:如果想查看详细文件属性,可以加参数–verbose 显示如下:

[root@servermanager svndata]# svn ls  svn://59.46.xx.xx/demo  --verbose
     16 21yunwei              Aug 30 08:26 ./
     15 21yunwei         4544 Aug 30 08:10 21yunweitest.jnt
     16 21yunwei            9 Aug 30 08:26 addtest.txt
     16 21yunwei            9 Aug 30 08:26 addtest.txt.bak
      8 21yunwei            8 Aug 30 08:11 alltask.bat
      6 21yunwei        20671 Aug 30 08:01 alltask.vbs
      9 21yunwei            8 Aug 30 08:12 backup.bat
      9 21yunwei              Aug 30 08:12 test/
     14 21yunwei              Aug 30 08:07 testlinux/

5,从客户端如何import导入项目数据到SVN服务端版本库项目

首先,我们先创建项目目录并上传一些数据进去:

[root@servermanager  svndata]# mkdir -p /home/svndata/{trunk,branch,tag}

创建新项目21yunweinew并将刚才的数据目录导入进版本库:

[root@servermanager   svndata]# svnadmin  create /svndata/21yunweinew
[root@servermanager  svndata]# svn import  /home/svndata/  file:///svndata/21yunweinew/ -m "import project  discuz"
Adding         /home/svndata/trunk
Adding         /home/svndata/tag
Adding         /home/svndata/branch

导入项目成功。

6,从客户端如何拷贝一个版本库到SVN服务端另一个版本库项目

[root@servermanager   21yunweinew]# svn copy  svn://59.46.xx.xx/21yunweinew/trunk svn://59.46.xx.xx/21yunweinew/branch/branch_21yunwei_20160830 -m "cp 21yunweinew trunk to branch"  --username=21yunwei --password=xxxxxx

拷贝成功Committed revision 3.
使用工具同步数据到本地查看如下:


当然后边还有一些delete删除等等,这里就不一一演示,可以自行操作测试下。

转载请注明:西数超哥博客www.ysidc.top» Linux环境下SVN客户端常用命令笔记-linux系统下如何从SVN服务端下载、提交、更新、查看、拷贝、导入项目代码

https://www.ysidc.top 西数超哥博客,数据库,西数超哥,虚拟主机,域名注册,域名,云服务器,云主机,云建站,ysidc.top

赞(0)
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除。本站原创内容未经允许不得转载:西数超哥博客 » Linux环境下SVN客户端常用命令笔记-linux系统下如何从SVN服务端下载、提交、更新、查看、拷贝、导入项目代码