linux svn版本管理命令

2023-11-11

1. svn merge回滚
1) 先 svn up,保证更新到最新的版本,如2106;
2) 然后用 svn log ,查看历史修改,找出要恢复的版本,如2105 。如果想要更详细的了解情况,可以使用svn diff -r 2105:2106 [文件或目录];
3) 回滚到版本号2105:svn merge -r 2106:2105 [文件或目录],注意版本号之间的顺序,这个叫反向合并;
4) 查看当前工作版本中的文件,如test.cpp和版本号10中文件的差别:svn diff -r 2105 test.cpp, 有差别则手动改之;
5) 若无差别,则提交:svn ci -m“back to r 2105,xxxxx” [文件或目录]。这时svn库中会生成新的版本,如21。

2. 用svn up
前2步如方法1,然后直接 svn up -r 2105。当前的工作版本就是版本2105了。但是注意,这时svn库中会并不会生成新的版本,下次在本地svn up之后,还是会回到之前的版本。

3、将文件checkout到本地目录
svn checkout path(path是服务器 上的目录)
例如:svn checkout svn://192.168.1.1/pro/domain
简写:svn co

4、往版本库中添加新的文件
svn add file
例如:svn add test.php(添加test.php)
svn add *.php(添加当前目录下所有的php文件)

5、将改动的文件提交到版本库
svn commit -m “LogMessage“ [-N] [–no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)
例如:svn commit -m “add test file for my test“ test.php
简写:svn ci

6、加锁/解锁
svn lock -m “LockMessage“ [–force] PATH
例如:svn lock -m “lock test file“ test.php
svn unlock PATH

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

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

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

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

11、查看文件详细信息
svn info path
例如:svn info test.php

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

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

14、SVN 帮助
svn help
svn help ci
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux svn版本管理命令 的相关文章

  • SVN:您可以仅从本地签出(而不是从存储库)中删除目录吗?

    假设您有一个受 subversion 控制的目录 其中包含一些文件和大量子目录 如下所示 file1 txt file2 txt file3 txt dir1 dir2 dir3 dir4 dirXX 现在您需要文件和一些目录 但不是全部
  • Tortoise 无法连接到 subversion 服务器

    我正在尝试在我的家庭服务器上设置 Subversion 存储库 经过一些更改后 我在 Windows Server 2003 服务器上卸载并重新安装了 VisualSVN Server 并且存储库的地址 即 URL 是https serve
  • OSX 通过 macports 安装 subversion 时出错

    我正在尝试安装 subversion 1 7 2 从默认的 Lion 版本 1 6 升级 跑步sudo port install subversion安装成功完成 但是在运行 svn version 时收到此错误 svn version d
  • 使用 reposurgeon 将 svn repo 转换为 git

    我正在尝试使用 svn repo 转换为 git再生外科医生 http www catb org esr reposurgeon 这是我所做的 有一个具有 svn 名称 gt git 名称映射的 repo map 文件 svnadmin d
  • SVN 不会缓存凭据

    我正在使用命令行 svn 客户端 版本 1 6 12 来自 Ubuntu 存储库 但我似乎无法让它缓存我的用户凭据 我正在尝试访问 https svn 存储库 类似于https subversion FAKE com PROJECT htt
  • 如何在 CruiseControl.net 中配置 svn 任务来检测 subversion 外部更改

    我在 subversion 中有一个 net 项目 它持续集成 Cruisecontrol net 我使用Svn源代码控制CCNET任务 net 项目库目录 其中包含配置为 subversion 外部的一组可重用组件 ProjectA li
  • 在 Windows 上使用的 Subversion Server

    哪种 Subversion SVN Server 会建议新手开始使用 Windows Server 操作系统 我想我将在客户端上使用 TortoiseSVN 并且主要进行 NET 开发 UPDATE 很好的建议 我根据投票选择我的答案 我会
  • 如何在Windows控制台中递归使用“svn add”?

    当我跑步时 svn st 在我的工作副本上我得到一些 位于工作副本根目录的子目录中的条目 我想将它们全部添加到存储库中 我尝试 svn add force and svn add force 但它不起作用 工作方案 svn add dept
  • svn diff 或 git diff 中带有 at 符号的“@@...@@”元行是什么意思?

    当我使用svn diff or git diff它显示如下行 1 5 1 9 他们的意思是什么 这些称为 c hunk 标头并包含范围信息 它们周围有双标志 它们的格式如下 l s l s where l是起始行号并且s是 c hunk 应
  • Tortoise SVN 合并“@### 必须与 @### 有祖先关系”错误

    背景故事 找到了一份入门级 Web 开发人员的工作 当我开始工作时 首席开发人员就离开了 一切责任都在我身上 没用过SVN 盲目进去 Problem 我不断收到类似错误 svn svn svn xxx project name branch
  • 如何配置hudson忽略指定SVN文件夹下的更改?

    我正在寻找一种方法来忽略 Hudson 中指定 SVN 文件夹下的更改 这与 TeamCity 中的排除文件夹和 CC Net 中的过滤器相同 我在SVN GUI配置下没有找到任何配置选项 在 Hudson 1 334 中 在构建配置中的
  • 您对版本控制进行到什么程度了? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Subversion 中所有版本化文件的列表? (按名称删除文件)

    办公室里的一些聪明人设法提交了一大堆 备份 文件 它们以 到我们的颠覆服务器 我最好使用一些基本的 bash 脚本来删除这些文件 而不是手动浏览存储库 有什么方法可以获取目录中所有 subversion 版本控制文件的列表 以便我可以进行一
  • svn propget svn:忽略。什么也没返回,但 svn 显然忽略了我的文件

    我正在尝试将现有的 iPhone 项目添加到 unfuddle com 上的 subversion 帐户 除了一些被忽略的 a 文件之外 一切看起来都很顺利 我知道它们被忽略 因为除非我使用 no ignore 标志 否则我看不到它们处于
  • 如何最好地处理不应该提交的 SVN 和本地更改?

    我已经从 SVN 存储库中查看了一些项目 为了构建这些项目 我必须调整一些配置 例如类路径和属性文件 以适应本地环境 现在我不想将这些更改提交到存储库 因此设置 svn ignore 可能会有所帮助 但是 如果我想从存储库获取更新而不提交这
  • $id:文件名、创建日期/时间 Exp $

    我经常在 C C 源代码中遇到以下语句 Id lzio c v 1 24 2003 03 20 16 00 56 roberto Exp Id file name version timestamp creator Exp 您知道哪些软件会
  • 如何在颠覆合并期间忽略文件夹

    我有一大堆更改需要合并到我的分支中 但我想在合并过程中忽略特定文件夹 是否可以使用 Subversion 来做到这一点 如果是这样那我该怎么办呢 编辑 我想忽略的文件夹位于存储库中 但在合并期间我不会对此文件夹进行更改 您可以像平常一样进行
  • SVN 提交后挂钩在提交后不会运行

    我的服务器上设置了 SVN 存储库 并且遇到提交后问题 我在 iMac 上使用 SmartSVN 作为客户端 我通过 SmartSVN 的 ssh svn 连接 我能够成功连接到 SVN 并对其进行更改 但从 SVN 客户端提交后 我的提交
  • SVN:“相对于其父级已切换”状态是什么意思?

    我正在尝试从 SVN 存储库更新我们的实时站点 据我所知 回购协议中没有任何内容 本身应该与工作副本目录中的任何内容发生冲突 但是当我尝试在公共根目录上 svn up 时 出现以下错误 svn REPORT request failed o
  • 手动更改后重新计算 SVN 转储中的校验和

    当我们将项目迁移到公共源托管时 我想从 SVN 存储库中删除一些 个人 信息 到目前为止 我在使用删除路径或修订方面做得很好svndumptool http svn borg ch svndumptool and svndumpfilter

随机推荐