当前位置 : 主页 > 编程语言 > java >

SVN常用命令

来源:互联网 收集:自由互联 发布时间:2022-08-10
SVN中的目录或文件的状态表示: ?:不在svn的控制中; M:内容被修改; C:发生冲突; A:预定加入到版本库; K:被锁定 (1)签出 svn checkout 仓库地址 本地存放地址 --username 用户名


SVN中的目录或文件的状态表示:

  • ?:不在svn的控制中;
  • M:内容被修改;
  • C:发生冲突;
  • A:预定加入到版本库;
  • K:被锁定

(1)签出

svn checkout 仓库地址 本地存放地址 --username 用户名 --password 密码

(2)往本地版本库中添加新的文件

之后才能被提交到线上的版本库

svn add *.so

(3)将改动的文件提交到线上版本库

svn commit -m "serveral .so file of image-select-library" *.so

(5)更新到某个版本

如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本,如:

svn update

将版本库中的文件Main.java还原到版本200

svn update -r 200 Main.java

更新Main.java文件,和版本库同步

svn update Main.java

注意:如果在提交时提示过期,原因是有文件冲突了,要先update,再修改文件,然后清除svn resolved,最后再提交commit。

(6)解决冲突

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

svn resolved PATH…

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

(7)将两个版本之间的差异合并到当前文件

将版本200与205之间的差异合并到当前文件Main.java,但是一般都会产生冲突,需要处理一下

svn merge -r 200:205 Main.java

(8)删除文件

svn delete http://192.168.1.1/pro/domain/Main.java -m “delete Main.java file”

推荐方式
先删除本地库的:

svn delete test.php

然后再提交线上版本库删除:

svn commit -m ‘delete Main.java file‘

(9)查看日志

显示这个文件的所有修改记录,及其版本号的变化

svn log Main.java

直接使用svn log 还可以显示整个代码修改的记录,指定显示LOG的条目,如:

svn log --limit 10

(10)查看文件详细信息

svn info Main.java

(11)创建纳入版本控制下的新目录

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

svn mkdir 新目录名

在本地端创建工作副本 PATH目录,并且加入新增文件,下次就可以提交它了

svn mkdir PATH…

以URL指定的目录,都会立即提交于仓库中创建

svn mkdir URL…

删除目录

svn rm 目录名

(12)恢复本地修改

恢复工作副本文件 (恢复大部份的本地修改)

svn revert PATh...

注意: 它不会存取网络,并且会解除冲突的状况。但是它不会恢复被删除的目录。

(13)版本库下的文件和目录列表

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

svn list http://172.16.28.208/svn/project/kandroid

(14)输出指定文件或URL的内容。

PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的,如果指定了版本,将从指定的版本开始查找

svn cat -r PREV filename > filename

(15)代码库URL变更

更新工作副本至不同的URL

svn switch (sw)

用法1:更新工作副本,映射到一个新的URL,会将服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的方法。

svn switch URL [PATH]

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

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


网友评论