svn for mac 操作

  1. 将文件checkout到本地目录
    命令: svn checkout path(path是服务器上的目录)
    例如:svn checkout svn://192.168.1.1/test
    简写:svn co
  2. 往版本库中添加新的文件
    svn add file
    例如:svn add test.php(添加test.php)
    svn add *.php(添加当前目录下所有的php文件)

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

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn commit -m “LogMessage“ [-N] [--no-unlock] PATH        (如果选择了保持锁,就使用–no-unlock开关) 2 例如:
  svn commit -m “add test file for my test“ test.php 3 简写:
  svn ci</pre>

4、加锁/解锁

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn lock -m “LockMessage“ [--force] PATH 2 例如:svn lock -m “lock test file“ test.php 3 svn unlock PATH</pre>

5、更新到某个版本

[
复制代码

](javascript:void(0); "复制代码")

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn update -r m path 2 例如: 3 svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。 4 svn update -r 200 test.php(将版本库中的文件test.php还原到版本200) 5 svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit) 6 简写:svn up</pre>

[
复制代码

](javascript:void(0); "复制代码")

6、查看文件或者目录状态

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 1)svn status path(目录下的文件和子目录的状态,正常状态不显示) 2 【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】 3 2)svn status -v path(显示文件和子目录状态) 4 第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。 5 注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。 6 简写:svn st</pre>

7、删除文件

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn delete path -m “delete test fle“ 2 例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file” 3 或者直接svn delete test.php 然后再svn ci -m ‘delete test file‘,推荐使用这种 4 简写:svn (del, remove, rm)</pre>

8、查看日志

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn log path 2 例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化</pre>

9、查看文件详细信息

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn info path 2 例如:svn info test.php</pre>

10、比较差异

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn diff path(将修改的文件与基础版本比较) 2 例如:svn diff test.php 3 svn diff -r m:n path(对版本m和版本n比较差异) 4 例如:svn diff -r 200:201 test.php 5 简写:svn di</pre>

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

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn merge -r m:n path 2 例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)</pre>

12、SVN 帮助

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn help 2 svn help ci</pre>

13、版本库下的文件和目录列表

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn list path 2 显示path目录下的所有属于版本库的文件和目录 3 简写:svn ls</pre>

14、创建纳入版本控制下的新目录

[
复制代码

](javascript:void(0); "复制代码")

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn mkdir: 创建纳入版本控制下的新目录。 2 用法: 1、mkdir PATH… 3 2、mkdir URL… 4 创建版本控制的目录。 5 1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增 6 调度,以待下一次的提交。 7 2、每个以URL指定的目录,都会透过立即提交于仓库中创建。 8 在这两个情况下,所有的中间目录都必须事先存在</pre>

[
复制代码

](javascript:void(0); "复制代码")

15、恢复本地修改

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert: 2 用法: revert PATH… 3 注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复 4 被删除的目录</pre>

16、代码库URL变更

[
复制代码

](javascript:void(0); "复制代码")

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"> 1 svn switch (sw): 更新工作副本至不同的URL。
2 用法: 1、switch URL [PATH]
3 2、switch –relocate FROM TO [PATH...]
4
5 1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将
6 服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的
7 方法。
8 2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动
9 (比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用 10 这个命令更新工作副本与仓库的对应关系。</pre>

[
复制代码

](javascript:void(0); "复制代码")

17、解决冲突

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn resolved: 移除工作副本的目录或文件的“冲突”状态。
2 用法: resolved PATH…
3 注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的
4 相关文件,然后让 PATH 可以再次提交。</pre>

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,539评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,594评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,871评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,963评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,984评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,763评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,468评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,850评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,002评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,144评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,823评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,483评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,026评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,150评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,415评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,092评论 2 355

推荐阅读更多精彩内容

  • 命令的使用 1、检出 svn cohttp://路径(目录或文件的全路径)[本地目录全路径] --username...
    小李龍彪阅读 4,447评论 0 9
  • iOS 开发 SVN 版本控制器 更多技术交流请加群 iOS技术联盟 27512466 SVN是Subversio...
    Sunny_Fight阅读 8,779评论 7 63
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,672评论 18 139
  • DevOps和敏捷全栈开发 DevOps的介绍2.DevOps的敏捷开发3.敏捷团队中DevOps的实践过程4.D...
    燕京博士阅读 1,215评论 0 1
  • 如果刚到一个新公司,还要用 SVN ,接老项目,简易 SVN 操作 一、创建代码仓库 1.首先在某个目录下面新建一...
    4b5cb36a2ee2阅读 799评论 0 0