SVN学习笔记二——客户端使用

  1. 云栖社区>
  2. 博客>
  3. 正文

SVN学习笔记二——客户端使用

技术小阿哥 2017-11-27 15:45:00 浏览865
展开阅读全文

SVN部署完成并成功配置完成后,就是使用的事情了,对于SVN,使用最多的往往是开发人员而不是运维人员,所以可能一些开发人员在这方面都比运维人员更熟悉,在我的工作经历中就曾有一个开发自行搭建SVN并且给开发和运维做培训的,强!

好了,上面主要是说其实对于SVN使用反而是开发比较在行,所以这里就简单的记录一下SVN客户端的使用吧。

Windows客户端的使用(TortoiseSVN)

1、安装TortoiseSVN,注意软件区分32位和64位,下载的时候请下载对应版本,然后安装只需下一步到完成即可。安装完成后,可能右键菜单中没有svn的命令,重启一下计算机就有了。

2、安装完成后,到windows中的任意路径下,新建一个文件夹,然后右键选择“SVN checkout”,然后在弹出的窗口中输入SVN server的相关信息,最后确定。

wKiom1fJAGzSzk_9AAB_k8Vxgnc401.png-wh_50

3、服务器要求输入用户凭据,这里输入之前创建的用户名密码,确认,如果防止后续重复要求输入用户凭据,可以选择记住凭据。

wKiom1fJAYWSZ-0YAABUbWsorDY102.png-wh_50

4、成功checkout后,出现以下窗口,返回到windows的对应路径下,可以看到文件夹上有一个绿色的对勾,这就表示已经成功从SVN server上checkout了文件,并且和SVN server保持一致状态。

wKioL1fJAf-gQRMiAACVSUeQF_8176.png-wh_50wKiom1fJAhrT_9spAADFn6QiAoU846.png-wh_50

5、好的,在idc文件夹下创建两个文件,文件创建之后,会有一个蓝色的问号标志。然后右键文件夹,选择“SVN commit”。

wKiom1fJAqaRGbr6AAF0A69mWtM072.png-wh_50

wKiom1fJDUbiwP8fAAHlH5kS9EQ208.png-wh_50

6、输入对上传内容的评论,以便其他人能对该代码有所了解,也方便自己过后查找,然后选择新增的文件,最后确认提交。

wKioL1fJDhnQz1MTAADR_HKOSW4571.png-wh_50

7、成功提交之后,可以看到以下窗口,版本从0变为1,SVN对每一次的增删修改等操作都会生成一个新的版本,以保证修改不会丢失,且可回溯。再回到windows资源管理器,此时文件都是绿色的对勾,表示所有文件都已提交到SVN。

wKioL1fJDhmRzmcZAACc9_cuaro828.png-wh_50

wKiom1fJDhrCWOpxAAFXJQ3_Zfc435.png-wh_50

 

Linux客户端的使用(主要是命令行)

估计svn在Linux上很少用到客户端,也就是运维人员可能用到,比如部署服务可以从SVN上取相关的配置或者shell脚本等,下面主要介绍一些命令:

[root@mylinux hooks]# svn --help
usage: svn <subcommand> [options] [args]
Subversion command-line client, version 1.6.11.
Type 'svn help <subcommand>' for help on a specific subcommand.
Type 'svn --version' to see the program version and RA modules
  or 'svn --version --quiet' to see just the version number.

Most subcommands take file and/or directory arguments, recursing
on the directories.  If no arguments are supplied to such a
command, it recurses on the current directory (inclusive) by default.

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)
   propdel (pdel, pd)
   propedit (pedit, pe)
   propget (pget, pg)
   proplist (plist, pl)
   propset (pset, ps)
   resolve
   resolved
   revert
   status (stat, st)
   switch (sw)
   unlock
   update (up)

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

这是svn的所有命令,如果查看更详细的命令可以svn command --help来查看,当然也可以到官网上查看帮助信息。

1)checkout命令

1
2
mkdir -p /opt/data/www
svn co svn://192.168.49.129/idc /opt/data/www/ --username=test01 --password=123456

#创建一个目录,并且svn库checkout到本地

2)查看文件命令

1
2
 svn ls svn://192.168.49.129/idc/ --username=test01 --password=123456
# 列出svn版本库中的文件


1
2
 svn list svn://192.168.49.129/idc/ --username=test01 --password=123456
# 与上一条命令等同


1
2
svn cat svn://192.168.49.129/idc/testf.txt --username=test01 --password=123456
# 查看svn版本库中某一文件内容


3)上传文件命令

1
2
svn add /opt/data/www/hello.txt  --username=test01 --password=123456
# 上传文件到svn中,注意:上传并非提交,这里只是添加到checkout本地的目录中,svn库中并没有


[root@mylinux hooks]# svn ls svn://192.168.49.129/idc/ --username=test01 --password=123456
a.txt
access.log
b.txt
c.txt
check.sh
testf.txt
testfile.txt
xm01.txt
新建文本文档.txt

4)提交命令

1
2
svn ci -m "add hello world" /opt/data/www/
# 因为之前往本地目录中添加了hello.txt文件,但是并未提交到svn,所以执行该命令后,就将hello.txt提交到svn库中


[root@mylinux hooks]# svn ls svn://192.168.49.129/idc/ --username=test01 --password=123456
a.txt
access.log
b.txt
c.txt
check.sh
hello.txt
testf.txt
testfile.txt
xm01.txt
新建文本文档.txt
[root@mylinux hooks]# svn cat svn://192.168.49.129/idc/hello.txt --username=test01 --password=123456
Hello,World.

5)拷贝svn库命令

1
2
svn copy svn://192.168.49.129/idc svn://192.168.49.129/idc/branch -m "add a branch" --username=test01 --password=123456
# 拷贝svn的idc库到idc下的分支,相当于给idc库创建一个分支


6)删除命令

1
2
svn delete svn://192.168.49.129/idc/c.txt -m "test for delete" --username=test01 --password=123456
# 删除idc库中的c.txt文件,注意这里的删除是直接提交更改的,即本地目录中也将同步该操作


[root@mylinux hooks]# ls /opt/data/www/
access.log  b.txt     hello.txt     testf.txt  新建文本文档.txt
a.txt       check.sh  testfile.txt  xm01.txt

好了,Linux客户端的操作基本上就是这些了,最后补上一张图,是对客户端操作的一个总结吧。

wKioL1fJIHHg89oyAAEpG5gbKHE328.png-wh_50


本文转自 jerry1111111 51CTO博客,原文链接:http://blog.51cto.com/jerry12356/1845542,如需转载请自行联系原作者

网友评论

登录后评论
0/500
评论