SVN常用指令

1.Repo-browser(浏览版本库)
通过“浏览版本库”可以直接查看服务器上指定目录下的所有目录结构(需要有相关权限),包括特定版本的作者,提交时间等,并且在浏览版本库里面链接了很多SVN常用的功能。如显示日志,检出,导出,检入文件/文件夹,改名,删除文件,分支建立等。

2.Checkout(检出)
从SVN服务器上得到数据,即建立本地副本,并且修改后可以commit到SVN服务器上。相对于CC来说,SVN的checkout可以说完成了建立本地视图和checkout两个动作。checkout命令可以在本地计算机上,浏览版本库,显示日志等多个地方找到。

3.Update(更新)
更新本地副本,得到SVN服务器上最新的数据。一般check out建立本地副本后,都在该本地副本上修改提交,若想再次得到服务器上的最新版本,即需用Update。在修改之前,一般我们都需要执行Update动作,以保证在最新版本上做修改,以减少提交时冲突。特别是用锁定的模式开发,修改前必须先更新并获得锁后才能修改(后面会具体描述)提交。

4.Commit(提交)
提交修改到SVN服务器上。所有需提交到SVN服务器上本地副本的修改都需要用Commit命令完成。

Checkout和export区别

check out跟check in对应,export跟import对应。
check out导出获得文件后,导出的文件仍处于SVN版本控制中,与版本库保持关联,比如你可以进行Svn Update或者Svn Commit操作。同时导出文件夹下有一个.svn的隐藏文件夹,存储着一些版本的元数据信息。

export 简单导出一个版本的数据,导出的文件脱离SVN版本控制,修改后无进行Update和Commit操作。导出文件夹下没有.svn目录。

详细命令

  • show log :查看SVN上当前代码库的最新版本号是多少.打开右键看到一系列版本更新历史,最上面的那一行,即是最新版本号,所谓的 head revision.显示为粗体 的那一行即你本地当前的版本
  • TortoiseSVN—Repo-browser:

    打开你要比较的两个版本所在的地址,选择一个版本做为比较的基础(单击右键—选择mark for comparison),再选择另外一个版本(单击右键—选择show difference as unified diff),然后就会生成一个两个版本的不同之处的文本

通过“浏览版本库”可以直接查看服务器上指定目录下的所有目录结构(需要有相关权限),包括特定版本的作者,提交时间等,并且在浏览版本库里面链接了很多SVN常用的功能。如显示日志,检出,导出,检入文件/文件夹,改名,删除文件,分支建立等

  • check for modification:检查更新,可以检查哪些文件做了修改。在这些做了修改的文件上单击右键可以进一步的操作。

  • Revision Graph:版本分支图

版本分支图主要显示以下内容:

 1.建立分支和标签的时间和版本

 2.文件夹名称的修改

 3.最新的版本

 4.本地副本的版本
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

另外鼠标滑过任意版本框,都会显示该版本的日期、作者和备注信息等;选中版本框按右键可以使用另外很多的功能,如显示日志,合并版本等等;还可通过“CTRL+左键”选中两个版本进行比较等。

  • Resolve

  • update to revision: 更新版本可以使本地副本更新到任意一个历史版本,方便用户详细查看某一版本的具体内容。(更新后本地副本仅作为显示某一版本内容,不能复原为该版本,与复原命令不同)

  • Revert: 本地副本还原, 放弃本地副本的修改,将其还原到本地修改前的版本(最后提交或者更新的版本)

    还原至某一历史版本(Revert to this revision)将本地副本复原到选中的某一个历史版本,若需将该复原版本提交到服务器上,则还需Commit!

还原某一历史版本的修改(Revert changes from this revision)放弃某一历史版本的修改。该动作只还原某一个特定版本的修改,并不还原该版本之前所有版本的修改,若需将该复原版本提交到服务器上,则还需Commit!

  • Clean up:

  • get lock:获取锁定,在加锁原因中加入备注,其他人可以浏览版本库/日志里面看到添加的信息,包括谁,什么时间,为什么锁定等

  • Release lock:解除锁定,修改完文件并提交后,需及时的解锁,这样其他人才可以获取锁定,既而修改文件。

  • Branch/Tag:

分支用途

1.软件开发时以主干为基础,实现并行开发,不断将分支上的修改合并到主干上。
2.同一软件的发布版本BUG修改和升版的并行开发等。
  • 1
  • 2

创建分支

命令1:Branches/Tags(工作副本使用)
命令2:copy to(浏览版本库使用)
命令3:Create branche/tag form this revision(show log使用)
  • 1
  • 2
  • 3
  • Switch:

  • Merge:合并

  • Export:导出,有时只想需得到配置库的某些资料,但不想受SVN版本控制,此时可以用Exprot。 Exprot与check out一样都是从服务器中得到数据资料,但是Exprot的数据资料不受版本的控制,无.SVN文件夹。

  • Add:添加

  • Create Patch:
  • Apply Patch:
  • Properties:
  • setting:设置
  • help:帮助
  • about:关于SVN
  • relocate:重新定位,当URL修改(服务器搬迁IP地址修改等),但本地副本还需继续使用,则需重新定位URL,将先前checkout时的URL重新定位为最新的URL。

图标

常见错误

1.SVN修订号不连续

原因:SVN修订号是相对于整个配置库的,更新时看到的版本也是整个配置库的修订号,并不是某一个目录的修订号。

解决方法:无,SVN特色。

2.修改工作副本后,提交时提示“Resource out of date”,提交失败。

原因:工作副本不是最新版本,提交失败。

解决方法:先更新后再提交,遇冲突时解决冲突后再提交。

3.提示400错误

原因:操作者某些操作不准确,引起混乱,可能属于SVN客户端本身的bug

解决方法:暂时无很好的解决方法。

4.提示403错误

原因:不能进行该操作。比如URL不对;未开通该目录相关权限;用户名密码不对等。

解决方法:检查操作对应的URL是否正确,是否有权限,输入的用户名和密码是否正确等,根据错误解决问题。

5.提示需“清理(clean up)”

原因:服务器问题,一个SVN指令不能成功地完成,你的工作副本因此被滞留在一个不一致的状态。

解决方法:在上一层目录执行清理动作(clean up),若执行不成功,根据错误提示,删除引起不能清理的文件夹,然后update。

6.不能正常检出,提示URL过长

原因:目录过深,即URL过长,SVN客户端的bug,目前发现V1.5.3版本存在该问题。

解决方法:在上一层目录检出,或许更换SVN客户端安装版本,同时注意建立配置库目录时不易建立过深的目录。

7.本地副本不能删除,提示text-base过长

原因:目录过深。

解决方法:修改目录的名字,缩短工作副本目录名字。

8.删除/重命名/移动/拷贝文件,提交后,服务器上与预期结果不一致

可能原因:使用WINDOWS删除或者重命名/移动命令进行操作. SVN有专有的Delete/Rename/move/copy命令,对于WINDOWS命令不能识别,使用WINDOWS命令会出现混乱。

解决方法:还原到前一版本,重新使用SVN自身Delete/Rename/move/copy命令。

9.将所有修改都提交后红色感叹号不消失

原因:页面刷新比较慢。

解决方法:刷新页面或者重启电脑。

10.使用比较功能时,提示“ is not a valid text file”!*

原因:不可编辑的文件不能比较具体的内容。

解决方法:暂时无。

11.能执行历史版本的日志信息修改动作,但是“ok”确定却不成功,提示出错

原因:SVN默认状态下不允许修改日志信息。

解决方法:在SVN上服务器上增加 pre-revprop-change hook.但不建议使用

12.受版本控制的文件,显示”奇怪的“符号,如灰色的勾勾等

原因:SVN的特色图标重载:处于不同的状态,显示不同的图标。

解决方法:可以通过TortoiserSVN-Setting中的Icon Set中查看各个图标表示的状态。

13.域帐户密码修改后,SVN的命令不能成功执行

原因:密码错误,先前使用SVN命令时保存了认证信息,所以SVN命令的不能执行成功。

解决方法:在桌面上按右键,选择Setting命令,进入Save date,将认证信息这一项clear掉。这样重新执行所需的SVN命令,即会出现让您输入用户名和密码。

SVN命令解析以及问题解决(update...)的更多相关文章

  1. [Linux & SVN] SVN介绍及Linux下SVN命令收录

    1. SVN是什么? SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移 ...

  2. 常用SVN命令

    SVN命令 svn co  svn://10.144.156.41/branches/webroot_2015_03_03_gift 表示check远程目录到当前目录下,co命令只能check目录,如 ...

  3. Linux SVN 命令详解(zz)

    Linux下常用SVN命令 2012-04-02 11:46:00 标签:服务器 目录 Linux checkout linux系统 1.将文件checkout到本地目录 svn checkout p ...

  4. SVN命令模式批量更新多个项目

    使用svn作为版本管理是,在一个仓库下边同时建立多个项目,每天上班都需要一个个更新,为了发挥程序员懒的精神,能让电脑做的,绝不手工操作.作为自动化处理,在windows环境,首先想到了bat Tort ...

  5. Mac SVN 命令行

    Mac自带了SVN命令行,如我的升级到10.10(OSX yosemite)后命令行版本为1.7.10 以下是一些常用命令 1.将文件checkout到本地目录 svn checkout path(p ...

  6. linux下svn命令使用大全

    最近经常使用svn进行代码管理,这些命令老是记不住,得经常上网查,终于找了一个linux下svn命令使用大全:1.将文件checkout到本地目录 svn checkout path(path是服务器 ...

  7. 日常开发使用SVN命令

    现在把我日常开发中用到的svn命令总结出来,做个备忘,其实真正用到也就那几个. 如果遇到参数不知道使用或其它困难请使用:svn --help 得到帮助 1)检出: svn co svn地址 本地路径 ...

  8. mac 终端 svn 命令(转)

    mac 终端 svn 命令 1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录)   例如:svn checkout svn://192.168.1.1 ...

  9. SVN命令模式批量更新多个项目文件

    使用svn作为版本管理是,在一个仓库下边同时建立多个项目,每天上班都需要一个个更新,为了发挥程序员懒的精神,能让电脑做的,绝不手工操作.作为自动化处理,在windows环境,首先想到了bat Tort ...

随机推荐

  1. android 获取 图片或视频略缩图

    /** * 根据指定的图像路径和大小来获取缩略图 此方法有两点好处: 1. * 使用较小的内存空间,第一次获取的bitmap实际上为null,只是为了读取宽度和高度, * 第二次读取的bitmap是根 ...

  2. 去除inline-block元素间间距的N种方法(转)

    一.现象描述 真正意义上的inline-block水平呈现的元素间,换行显示或空格分隔的情况下会有间距,很简单的个例子: <input /> <input type="su ...

  3. 每天一个linux命令(性能、优化):【转载】top命令

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法.top是一个动态显示过程,即可以通过用户按键来不断刷新 ...

  4. Loj 538 递推数列

    Loj 538 递推数列 出题人:这题提高难度吧.于是放在了%你赛的 \(D1T2\) . 递推式为 \(a_i=k*a_{i-1}+a_{i-2}\) , 注意到 \(k\in \mathbb{N_ ...

  5. 高度注意 Map 类集合 K/V 能不能存储 null 值的情况

    集合类 Key Value Super 说明 Hashtable 不允许为 null 不允许为 null Dictionary 线程安全 ConcurrentHashMap 不允许为 null 不允许 ...

  6. 【angularJS】启动(bootstrap)机制

    Angular的启动分为手动和自动两种. 自动启动 定义模块的例子中,采用的就是自动的方式:通过内置的指令ngApp 来指定启动时加载的模块.<html ng-app="myApp&q ...

  7. spring事务中隔离级别和spring的事务传播机制

    Transaction 也就是所谓的事务了,通俗理解就是一件事情.从小,父母就教育我们,做事情要有始有终,不能半途而废. 事务也是这样,不能做一般就不做了,要么做完,要 么就不做.也就是说,事务必须是 ...

  8. 【转】linux中shell变量$#,$@,$0,$1,$2的含义解释

    原文网址:http://www.cnblogs.com/fhefh/archive/2011/04/15/2017613.html linux中shell变量$#,$@,$0,$1,$2的含义解释: ...

  9. 关于RAS加密中pfx格式提取字符串私钥 (转)

    openssl 使用以下命令 如果如果执行出错,请查看是否安装环境或在命令前面加上openssl --提取出来的无法直接使用 pkcs12 -in zhaoshang2.pfx -nocerts -n ...

  10. 搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门(转)

    转自:http://www.ruanyifeng.com/blog/2012/08/blogging_with_jekyll.html 喜欢写Blog的人,会经历三个阶段. 第一阶段,刚接触Blog, ...