0%

svn | 基础已经使用方法

这个简单的说一下命令行的使用方法。


参考资料



用法


将文件拉到本地目录

  • svn checkout
  • 或者
  • svn co

第一次用

svn checkout url --username=*** --password=*** path

其中 url 是服务器地址 path 是将要拷贝的地址

或者 svn checkout url path 回车会提示输入用户名和密码

不是第一次,已经验证过用户名和密码

svn checkout url 就可以了

向版本库添加新的文件

  • svn add file
  • svn add path
    • 某个文件或资源
  • svn add *.path
    • 添加当前目录下的所有的 path文件

将修改的文件提交

  • svn commit -m”提交信息”
  • svn ci(简写) -m””

加锁/解锁

  • svn lock -m”LockMessage” [—force] path(某个文件)
  • svn lock -m “lock test file” lock.h
  • svn unlock path(表示某个文件)

更新到某个版本

  • svn update -r m path
  • svn update
    • 如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
  • svn update -r 100 test.m
    • 将版本库中的文件 test.m 还原到版本 100
  • svn update test.m
    • 更新,于版本库同步。
    • 如果在提交的时候提示过期的话,是因为冲突,需要先 update ,修改文件,然后清除svn resolved,最后再提交commit)

查看文件或者目录状态

  • svn status path
    • 目录下的文件和子目录的状态,正常状态下不显示
    • ?
      • 不在svn的控制中
    • M
      • 内容被修改
    • C
      • 发生冲突
    • A
      • 预定加入到版本库
    • K
      • 被锁定
  • svn status -v path
    • 显示文件和子目录状态

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

注:

  • svn status
  • svn diff
  • svn revert

这三条命令在没有网络的情况下也可以执行的,原因是 svn 在本地的 .svn 中保留了本地版本的原始拷贝。

简写:svn st

删除文件

svn delete path -m “delete test file”

例如:

svn delete svn://192.168.1.1/pro/domain/test.php -m "delete test file"

或者直接 svn delete test.m 然后再 svn ci -m 'delete test file,推荐使用这种
简写:svn (del, remove, rm)

查看日志

  • svn log path

例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化

查看文件的详细信息

  • svn info test.m

比较差异

  • svn diff path

    • 将修改的文件与基础版本比较
      例如:svn diff test.m
  • svn diff -r m:n path

    • 对版本m和版本n比较差异

例如:svn diff -r 200:201 test.m

简写:svn di

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

  • svn merge -r m:n path

例如:svn merge -r 200:205 test.m(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)

帮助

  • svn help

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

  • svn list path

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

简写:svn ls

恢复本地修改

  • svn revert path
请我喝杯咖啡吧~