简单SVN命令(一)

由于不会svn命令行方式,总感觉少了点什么,最近正在看如何通过命令行来操作代码库,在这里记录下学习笔记,有的部分可能不正确,帮忙指正哈.

从svn help中我们能看到,svn 命令不是很多,常用的就这些

 


 

 

如果我们自己要联系这些命令的用法,最好先自己搭建一个svn服务器,如何搭建其实很简单,网上也有很多教程,我是在window上搭建的.

比如说:http://www.56.com/u21/v_OTM4Mzk1MTQ.html打开 这些视频教程.

如果不自己搭建的话,也可以使用网上的资源,比如:www.svnchina.com

资源下载可以在下载.

当我们搭建好svn服务器后,就可以自己上传工程代码,练习这些命令了.下面来逐一解释一下命令,其中更多关于Linux命令参数可以参考

http://www.linuxso.com/网站解释 

这些命令可以带很多参数,这里值列出了常用的几个,其他的可以参考:http://www.lampblog.net  http://www.subversion.org.cn/

先使用mkdir建一个工程文件目

1.mkdir 创建目录

 该命令创建制定的目录名,要求创建目录的用户在当前目录有写权限,并且没有同名的目录,

可带参数  [-m] [-p]

-m :对创建的目录设置权限

-p: 可以是一个路径名,如果路径中有不存在目录,会自动创建,适用于一次创建多级目录

建的目可以使用rm

2.rm  删除文件或目录

 该命令删除指定目录

可带参数: [-d] [-f] [-i] [-r] [-v]

-d: 删除可能仍有数据的目录 (超级用户)

-f: 略过不存在的文件,不提示信息

-i: 删除时提示确认

-r: 删除目录下所有的目录层

-v: 显示删除过程的信息

从代码库出代,就是第一次下所有的代

3.checkout (co) 检出代码

可带参数: [--username --password] 

例如: svn checkout svn://127.0.0.1/ 

       svncheckout svn://127.0.0.1/  --username yourUsername --passwordyourPassword

更新代

4.update (up) 更新

可带参数: [-r]

-r: 修正版本 将某个或多个文件修正到某个版本

例如: svn update                              //正常更新

      svnupdate -r 1 test.txt  // 将test,txt文件修正到 版本1

修改代后提交修改, 提交之前需要先 update

5.commit (ci)  提交

参数 [-m]

-m: 注信息

例如: svn commit -m "里是"

当你新建文件或添加源文件后,需要将新文件入版本控制中.

6. add  添加

可带参数 [--non-recursive]

--non-recursive 只添加目录而不添加目录内容

例如 svn add test.txt

      svnadd --non-recursive test // test目录 不包含其中的文件

如果要添加所有没有添加的文件可以使用 

     svn st | awk '{if ( $1 == "?") { print $2}}' | xargs svn add  // 在http://blog.csdn.net/spare_h/article/details/6677435中给出的

需要删除文件的时候可以使用delete

7. delete 删除文件或目录

可选参数 [--force] [-m] 等.

--force 强制删除

-m 添加备注信息

例如  svndelete test.txt

如果需要不带版本控制的文件使用export

8. export 产生一个无版本控制的目录树副本

可选参数: [--force] 强制操作

例如 svn export svn://127.0.0.1/

 svnexport --force svn://127.0.0.1/

拷贝文件

9.copy(cp) 拷贝工作拷贝的一个文件或目录到版本库 (从源地址 到 目的地址)

例如: svn copy file///var/svn/repos/test/far-awaynear-here

当多人操作一个文件的时候有可能会有冲突,首先看两个版本之前的差距

比较两个版本间的差异

10.diff(di) 比较不同

可带参数 [-r] 用于比较不同版本

例如: svn diff        //比较当前本地工作拷贝和代码库中的区别

     svn diff -r reversion  // 比较当前本地工作拷贝和某个版本的区别

     svn diff -r aReversion:bReversion // 比较a和b两个版本间的区别

显示提交日志信息

11.log 显示提交日志信息

   默认为你当前目录的路径,如果没有指定URL,默认打出当前目录下所有文件和目录的日志信息.

   你也可以指定URL,只打印这个URL上的日志信息

例如:  svn log

      svnlog test.txt

文件

12. ls 列出当前目录下的所有文件和目录

例如: ls myFolder


未完待续...


你可能感兴趣的:(linux,SVN,数据,服务器,版本控制)