SVN

作者: Jackson_Z | 来源:发表于2017-01-14 10:16 被阅读176次
    • 常用命令一览表
    常用命令一览表

    1、下载版本库,将文件checkout到本地目录: _svn co 仓库路径 本地路径 _

    示例:

    svn checkout https://192.168.1.201/svn/heipiao/app/ios 后面可加上本地路径  
    

    或者直接cd到本地路径:

    svn co https://192.168.1.201/svn/heipiao/app/ios  
    

    如果你没有之前没有登录过svn则需要你输入服务器给你分配的用户名和密码
    先输入本地密码,后输入svn的密码和账户

    2、添加新的文件/文件件(如果不添加的话,显示的前面是?问号):_svn add file _

    
    例如:svn add tt.proj   
    svn add *.proj(添加该后缀的文件到版本库中去)  
    

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

    svn commit -m “注释“ 
    例如:svn commit -m “add test file for my test“ 
    简写:svn ci -m "注释,日志"  
    

    4、加锁/解锁

    svn lock -m “日志或注释“ [--force] PATH  
    例如:svn lock -m “lock test file“ test.php  
    svn unlock PATH  
    

    5、更新到某版本(可以直接进入版本库中,省去路径)

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

    6、查看文件或者目录状态(很常用)

    1)svn status path(目录下的文件和子目录的状态,正常状态不显示,可以直接使用拖拽的路径)  
    【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】  
    当出现?问号时,需要使用 svn add 问号对应的文件或文件夹  
    2)svn status -v path(显示文件和子目录状态)  
    第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。  
    注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。  
    简写:svn st  
    

    7、删除文件

    svn delete path -m “delete test fle“  
    例如:svn delete svn://10.100.102.11/pro/domain/tt.proj -m “删除文件”  
    或者直接svn delete tt.proj   
    然后再svn ci -m ‘删除‘,  
    推荐使用这种简写:svn (del, remove, rm)
    

    8、查看日志

    svn log path  
    或者cd到path直接 svn log
    svn log -r 5:19    # shows logs 5 through 19 in chronological order 显示第5到19次修改的log升序排列
    svn log -r 19:5    # shows logs 5 through 19 in reverse order       显示第5到19次修改的log降序排列
    svn log -r 8       # shows log for revision 8        显示第8次修改的log
    也可以检查单个文件或目录的日志历史,举个例子:$ svn log foo.c
    得到目录和文件更多的信息--verbose (-v)开关   svn log -r 8 -v
    
    **svn log**也有一个--quiet (-q)选项,会禁止日志信息的主要部分,当与--verbose结合使用,仅会显示修改的文件名。
    只显示前面几行:svn log | head -n 5
    只显示前面1行:svn log --limit 1   svn log -l 1
    显示最新版本  svn log --revision HEAD  或者    svn log -r head  -----只显示一行虚线
    显示自己最近提交  svn log -r prev:committed
    显示最近提交log  svn log -r base:head
    
    Paste_Image.png

    9、查看文件详细信息

    svn info path  
    

    10、比较差异(可以直接使用Xcode查看)

    svn diff path(将修改的文件与基础版本比较)  
    例如:svn diff tt.proj  
    svn diff -r m:n path(对版本m和版本n比较差异)  
    例如:svn diff -r 200:201 tt.proj  
    简写:svn di  
    

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

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

    12、SVN 帮助

    svn help  
    svn help ci 
    svn help log
    

    13.拷贝文件和目录

    svn copy path/file_name   newpath/new_file_name
    svn commit -m "xxxx"
    

    或者:

    svn cp path/file_name    newpath/new_file_name
    svn commit -m "xxxx"
    

    或者:

    svn cp path/file_name    newpath/new_file_name  -m  xxx
    
    • svn的copy,是很重要的工具,版本分支和标签等概念都通过它实现。

    14.重命名目录/文件

    svn move file_name    new_file_name
    svn mv file_name   new_file_name
    

    15.使用标签和分支 在svn中标签和分支都源于copy命令。

    发布分支:

    svn cp -m 测试tag2222222  https://192.168.1.201/svn/heipiao/app/ios/C/trunk/customer https://192.168.1.201/svn/heipiao/app/ios/C/tags/22222  --username XXX --password XXX
    

    切换分支:

    svn switch https://easymorse-simpletag.googlecode.com/svn/branches/simpletag_select_2
    

    合并分支需要两个步骤:

    • 合并操作
    svn merge -r 33:HEAD https://easymorse-simpletag.googlecode.com/svn/branches/simpletag_select_2
    

    或者:

    svn merge https://easymorse-simpletag.googlecode.com/svn/trunk/simpletag@HEAD https://easymorse-simpletag.googlecode.com/svn/branches/simpletag_select_1@HEAD
    
    • 提交。
      16.查看版本库下的文件和目录列表
    svn list path
    简写:svn ls
    

    解决冲突
    使用命令行 Subversion 访问项目源文件
    SVN常用命令
    svn 命令行下常用的几个命令
    SVN常用命令说明
    linux下svn命令大全
    SVN简明课程
    svn 终端命令

    相关文章

      网友评论

          本文标题:SVN

          本文链接:https://www.haomeiwen.com/subject/gdrebttx.html