Linux 下 SVN 常用命令

时间:2022-12-10 12:21:32

Linux 下 SVN 使用的常用命令:

命令

描述

svn add

添加:文件。先add才能commit

svn commit

提交:到服务器。update commit。简写 svn co

svn update

更新:本地与服务器同步。简写 svn up

svn statue

文件或目录状态。简写 svn st

svn delete

删除文件。简写 svn del

svn log

历史版本。简写 svn di

svn diff

对比差异

svn revert

撤销本地修改(未提交之前)

svn resolved

标记冲突为已解决

svn lock

加锁

svn unlock

解锁

1. 安装

sudo yun -y install svn 

2. 检出

svn checkout path        # path 是服务器上的目录

简写:svn co

例如:svn checkout svn://192.168.1.1/test        

           svn checkout https://github.com/xgf13469//test         #我的 github 地址 :)

3、添加新的文件

svn add file

例如:svn add readme.txt         #添加 readme.txt 文件

           svn add *.txt            #添加当前目录下所有的 .txt 文件)

4、将改动的文件提交到版本库

svn commit -m "LogMessage" [-N] PATH file        # -m 后接本次提交说明

简写:svn ci

例如:svn commit -m "add file for my test" readme.txt

5、加锁、解锁
svn lock -m "LockMessage" [--force] PATH file        #加锁,别人无法修改

svn unlock PATH

例如:svn lock -m "lock test file" readme.txt

6、更新到某个版本

svn update -r m path         #更新到版本号为 m 的版本

简写:svn up

例如: svn update     # 后面没有目录,默认将所有文件更新到最新版本。

           svn update -r 10 readme.txt        # 将版本库中的文件 readme.txt 更新到版本10

           svn update readme.txt         #更新本地文件,使得和版本库同步。

如果在提交的时候提示过期的话,是因为冲突,需要先 update,修改文件,然后清除 svn resolved,最后再提交commit 。

7、查看文件或者目录状态

svn status path      #目录下的文件和子目录的状态,正常状态不显示

简写:svn st

状态类型:

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

svn status -v path      #显示文件和子目录状态

第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。

8、删除文件

svn delete path -m "delete test fle"

简写:svn del 或svn rm

例如:svn delete readme.txt

9、查看日志

svn log [path]

例如:svn log       #显示所有修改记录及版本号的变化

           svn log readme.txt       #显示文件 readme.txt 的修改记录及版本号

10、查看文件详细信息

svn info path

例如:svn info readme.txt

11、比较差异

svn diff path         #将修改的文件与基础版本比较

svn diff -r m:n path           #对版本m和版本n比较差异

简写:svn di

例如:svn diff readme.txt

          svn diff -r 10:11 readme.txt

12、将两个版本之间的差异合并到当前文件

svn merge -r m:n path

例如:svn merge -r 10:11 readme.txt      #将版本10与11之间的差异合并到当前文件,一般需要处理冲突

Linux 下 SVN 常用命令


Linux 下 SVN 常用命令

—————————————————————————————————————————————————————————
以上是常用命令,下面写几个不经常用的
—————————————————————————————————————————————————————————
13、版本库下的文件和目录列表

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

简写:svn ls

14、恢复本地修改
svn revert           # 恢复原始未改变的工作副本文件。

15、代码库URL变更

svn switch (sw)        #更新工作副本至不同的URL

用法:

svn switch URL [PATH]            #更新工作副本,映射到一个新的URL。这是将工作副本对应到同一仓库中某个分支的方法

svn switch –relocate FROM TO [PATH]            #改写工作副本的URL元数据,以反映单纯的URL上的改变。

16、标记冲突已解决

svn resolved            #移除工作副本的目录或文件的"冲突"状态。

用法: svn resolved  readme.txt     #假设 readme.txt 是冲突文件,移除其冲突状态

注意:本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的相关文件,然后让 PATH 可以再次提交。冲突的处理可以参考这篇博客http://blog.csdn.net/xgf415/article/details/75196360