文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux系统svn常用命令是怎样的

2023-06-28 12:35

关注

本篇文章为大家展示了Linux系统svn常用命令是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。

1、svn checkout path

path 是服务器上的目录。

 svn checkout path 例如:svn checkout  svn://192.168.1.1/pro/domain 简写:svn co

1.1 svn checkout path subv

这样将把你的工作拷贝放到subv而不是和前面那样放到trunk

2、svn add file

file是某个文件或者某个目录,如果添加所有的文件则用点“.”表示。

 svn add file 例如:svn add test.php svn  add  *.php(添加当前目录下所有的php文件) svn add . (表示添加所有文件)

3、svn commit

提交文件到服务器。

 svn commit -m “LogMessage“ [-N] [--no-unlock] path(如果选择了保持锁,就使用–no-unlock开关) 例如:svn commit -m “add test file for my test”  test.php 简写:svn  ci

一般步骤:

4、svn lock

加锁/解锁命令。

 svn lock -m “LockMessage” [--force] path 例如:svn lock -m “lock test file”  test.php svn unlock path

5、svn update

更新版本命令。

 svn update -r m path 例如: 1、 svn update 后面没有目录,默认更新当前目录及子目录的所有文件到最新版本。 2、 svn update -r 200 test.php (将版本库中的文件test.php还原到版本200) 简写:svn up

update命令还可以进行文件恢复。 (1)不小心写错了很多东西,想撤销所写的东西(已经把修改提交到服务器)svn update -r 版本号 (2)不小心删错了文件,想把文件恢复回来(已经把删除提交到服务器)
svn update -r 版本号

6、svn status

 svn status -v path svn status path 简写:svn st

显示文件和子目录的状态。 第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。 注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。

文件状态描述

7、svn delete

删除文件。

 svn delete path -m “delete test file” 例如: 1、删除远程服务器文件 svn delete svn://192.168.1.1/pro/domain/test.php  -m “delete test file” 2、删除本地文件,然后提交 svn  delete test.php, 然后再svn ci -m “delete test file”,推荐使用这种 简写:svn (del, remove, rm)

8、svn log

查看日志。

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

如果在工程的根目录使用该命令可能会列出非常多的日志内容,因此为了查找方便,我们通常会使用一些附加参数来配合svn log命令的使用。

查看一段日期的日志

 svn log -r {2018-07-03}:{2018-07-09}

显示某一版本范围的log列表

显示从r199687到r199385范围的所有带jaspersong字符串的log (grep下面介绍)

 svn log -r r103546:r104414 | grep -A 2 jaspersong

这里说明一下grep -A 2 "jasper"|中A后面数字的差别,不同的数字表示显示的log版本信息不同的行数。

查看某一版本所修改的文件列表及说明

此命名用得比较多。

 svn log -r r196674 -v

Linux系统svn常用命令是怎样的

查找分支所有的修改

 svn log -v --stop-on-copy $URL

9、svn info path

查看文件详细信息。

 例如:svn info test.php

10、svn diff path

默认将修改的文件与基础版本比较。

 例如:svn diff test.php svn diff -r m:n path(对版本m和版本n比较差异) 例如:svn diff -r 200:201 test.php 简写:svn di

11、svn merge -r m:n path

Linux命令行下将两个版本之间的差异合并到当前文件。

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

12、svn help

Linux命令行下SVN 帮助。

 svn help ci

不是常用的命令如下:

13、svn list path

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

 简写:svn ls

14、svn revert path

下面两种情况都可以用revert命令恢复。

15、svn resolved path

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

 用法: svn resolved path

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

16、svn copy创建分支

 svn cp -m "create branch"  http://svn_server/xxx_repository/trunk  http://svn_server/xxx_repository/branches/br_feature001
 svn co http://svn_server/xxx_repository/branches/br_feature001
 cd br_feature001  svn merge http://svn_server/xxx_repository/trunk
 cd trunk svn merge --reintegrate http://svn_server/xxx_repository/branches/br_feature001

17、分支合并到主干一

 svn copy http://example.com/repos/project/trunk http://example.com/repos/project/branches/beta
 svn log --stop-on-copy  http://example.com/repos/project/branches/search_collect_1108

如得到版本号为:12461

在分支上,获取最新的版本号

 svn up

如得到版本号为:12767

切换到主干,然后执行下面命令(后面的路径为,分支的路径。)

 svn merge -r 12461:12767  http://example.com/repos/project/branches/search_collect_1108

18、合并一个分支到主干二

 cd branch svn log --stop-on-copy

最后一个r11340就是创建分支时的reversion

方法二: 进入主干目录

 cd trunk svn -q --stop-on-copy 分支URL  # 这条命令会查询出自创建分支以后分支上的所有修改,最下面的那个版本号就是我们要找的版本号. 示例:svn log -q --stop-on-copy svn://192.168.1.177/tags/beta_2009_12_24
 示例: cd trunk svn merge -r 12:HEAD svn://192.168.1.177/tags/beta_2009_12_24

解决冲突: 使用svn st | grep ^C 查找合并时的冲突文件,手工解决冲突 使用svn resolved filename 告知svn冲突已解决 使用svn commit -m “” 提示合并后的版本。

上述内容就是Linux系统svn常用命令是怎样的,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯