svn command in ubuntu

1.svn状态:

svns tatus path

M:修改的文件,?:新添加的文件,D:删除的文件,U:更新文件);

svns tatus -v path

显示该目录下面所有的文件和子目录状态

 

2.svn信息(主要可以看出svn的版本号):svn info ;

 

3.查看svn logsvn log -ln(n个连续的log)

svn log test.php

显示test.php文件的所有修改记录,及其版本号的变化

 

4.svn中拿下数据:svn checkout (source address) . checkout可以简写成co;

 

5.数据更新:svn update(每次update之后会得到一个最新的版本号);

update的三种用法:

第一:svn update

第二:svn update -r m(指的是版本号)path(还原到m版本)

第三:svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)

 

6.svn添加文件:svn add test.php

在添加一个新的文件夹的时候,提交之前需要svnadd file,但是没有commit之前,test.php只在本地存在,add只是给test.php做一个标记而已。

 

7.svn删除文件:svn delete file;

 

8.svn提交(需要著名文件修改的地方):svn commit path -m'~message'

 

9.svn重命名命令:svn mv file filename(不能直接用mv命令,因为先前的file文件已经在版本控制之内了)

 

11.svn log -r12

 

12为版本号

 

svn log -vr12

 

的详细信息,你可以得到版本号为12的详细信息。

 

包括路径和被修改的时间

 

svn update -r12

 

回滚到版本号为12的版本

 

update下来之后这个已经在版本控制之内,不能进行提交,所以你要做的事情就是讲这个文件重新导入svn

 

svn mv sourcefilename z

 

svn export z sourcefilename

 

12.svn diff -r m:n test.php

比较mn两个版本下的test.php比较差异

 

13.svn merge -r m:n test.php

合并mn的差异合并到当前文档,但是一般会差程差异。

14.svn help

svn帮助

 

上面是svn常见的命令

下面是一些不经常用的命令

 

15. 版本库下的文件和目录列表  svn list path

显示path目录下的所有属于版本库的文件和目录

简写:svnls

 

16.创建纳入版本控制下的新目录

svn mkdir: 创建纳入版本控制下的新目录。

用法:

1mk dir PATH…

2mk dir URL…

 

17.创建版本控制的目录。

1、每一个以工作副本PATH指定的目录,都会创建在本地端,并且加入新增调度,以待下一次的提交。

2、每个以URL指定的目录,都会透过立即提交于仓库中创建。在这两个情况下,所有的中间目录都必须事先存在。

18、恢复本地修改

svn revert: 恢复原始未改变的工作副本文件(恢复大部份的本地修改)revert:

用法:revert PATH…

注意:本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复被删除的目录 代码库URL变更

19.svn switch (sw):

更新工作副本至不同的URL

用法:1switch URL[PATH]

2switch–relocate FROM TO [PATH...]

注意:1、更新你的工作副本,映射到一个新的URL,其行为跟“svnupdate”很像,也会将服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的方法。

2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用这个命令更新工作副本与仓库的对应关系。

20.解决冲突

svnresolved: 移除工作副本的目录或文件的“冲突”状态。

用法:resolved PATH…

注意:本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的相关文件,然后让PATH可以再次提交。

 

21、输出指定文件或URL的内容。

svncat 目标[@版本]…如果指定了版本,将从指定的版本开始查找。

svncat -r PREV filename > filename (PREV 是上一版本,也可以写具体版本号,这样输出结果 是可以提交的)

 

 

虽然svn提供了很好的安全机制,但是在操作的时候要非常小心。如果你一旦删除了某一个文件,一旦提交上去,svn版本库上相应的文件也删除。导致的结果就是你的workmate一旦update之后你workmate的本地副本同样会删除,这是一个很危险的事情。

原文地址:https://www.cnblogs.com/likwo/p/2847428.html