SVN switch 用法详解2

本文通过实例解析SVN中的switch命令,说明其与update命令的区别及应用场景,包括如何在不同分支间切换文件以及如何处理本地修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


 svn switch 的作用,不大好讲清楚。用语言描述起来是:switch命令只是update命令的一个超集。svn switch和svn update两个命令唯一区别就是update会一直比较同一路径。换名话说,update通过时间移动你的工作拷贝,switch通过时间和空间移动工作拷贝。

  本文的例子仅限svn中的两个txt文件switch,可能过于简单,但我相信以小见大,此时合用。 

一、最简单的svn switch

  右键 orange.txt 点击,选择TotoriseSVN”->“Switch..”,将其 switch 到svn中的 apple.txt。

  原始

  orange.txt switch to apple.txt ->

 

  可见,此时switch是将 apple.txt 的内容更新到了 orange.txt。与 svn update 的作用没有任何不同。

  记得将orange.txt重新switch回来。

二、本地有修改,switch,提交,再switch回来

  本地修改orange.txt

  orange.txt switch to apple.txt, and merge, update ->

  orange.txt switch back

  update:


  可见,仅仅是修改了switch后的apple.txt,switch回来后,orange.txt没有变化,只是 apple.txt 变了。

 

总结:

  在没有本地修改的情况下,svn switch 与 svn update完全等价。用途是:部分交换文件,可逆。例如,一个分支中的某个部分增加了新功能,但不想立即合并到trunk,可以在trunk中,将那一部分switch到该分支中。这个功能用的多一些吧。

  如果有本地修改,则switch后提交,更新的是switch后的那个文件。switch回来后,本地修改丢失。用途是:

svn中有两个近似的文件(两个branches中的同一个文件,名字一样,路径不同),你在本地修改时,改错了地方,要提交到正确的目录,就switch到正确的目录。这个是犯了错或思维跳转才用,估计用的比较少。但也可能是这种情况,你本地修改了 trunk,但提交前觉得不放心,想创建一个新分支来提交这些修改,那就创建新分支,再switch到新分支,commit,最后 switch 回来吧,trunk什么都没改,改动全在 branches上了。


http://hi.baidu.com/dudangyimian/blog/item/e320f42ae4e525e6e7cd4053.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值