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之间的差异合并到当前文件,一般需要处理冲突
—————————————————————————————————————————————————————————
以上是常用命令,下面写几个不经常用的
—————————————————————————————————————————————————————————
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