svn终端命令收集(补充中)

这些都是平时自己在备忘录里吗瞎写的纪录,懒得整理,估计也就是只有我自己能看懂。

svn命令行创建和删除分支和tags

http://blog.csdn.net/yangzhongxuan/article/details/7519948

查看文件里面的所有文件,包含隐藏文件

ls -al

http://blog.csdn.net/yangzhongxuan/article/details/7519948

pod install --verbose --no-repo-update

svn管理:

删除一个文件夹中所有子文件里面的隐藏文件:

find . -type d -name ".svn"|xargs rm -rf

删除一个文件:

rm -f filename

查看文件里面的所有文件,包含隐藏文件

ls -al

上传文件:

step1:打开终端

step2:找到要上传的文件的存放路径(我的这个文件夹叫  FunnyStoryAndJokes1.0.2,存放路径为:/Users/qx/Documents)

step3:回到终端,用 cd /Users/qx/Documents    命令进入到存放FunnyStoryAndJokes1.0.2的Documents目录下

step4:用这条命令svn import -m "New Import" FunnyStoryAndJokes1.0.2/ http://192.168.202.141:8000/svn/gaoxiaodaquan/iOS/FunnyStoryAndJokes1.0.2

(其中http前面的FunnyStoryAndJokes1.0.2是指当前Documents目录下的文件夹,就是你要上传的文件夹,http://就是你的远程服务器地址,http://链接最后面那个FunnyStoryAndJokes1.0.2是你在服务器新建的目录名称)

trunk:主干,是日常开发进行的地方。

branches:分支。一些阶段性的release版本,这些版本是可以继续进行开发和维护的,则放在branches目录中,里面的版本全部基于trunk基础上建立的。

tags:表示标签存放的目录,一般为只读写,存储阶段行发布版本,一般是基于分支上建立。

打一个tag:

svn copy http://www.baidu.com/iOS/trunk/ http://www.baidu.com/iOS/tags/demo/  -m”添加天气和车帮手功能”

打一个分支:

svn cp http://www.baidu.com-iOS/trunk/demo/ http://www.baidu.com-iOS/branches/demo -m "修改内存泄漏问题"

删除一个分支:

$ svn rm http://www.baidu.com/iOS/branches/demo -m"删除临时支付分支"

查看目录:

$ svn ls http://www.baidu.com/iOS/trunk

更新主干上的最新代码到分支上:

cd br_feature001

svn merge http://svn_server/xxx_repository/trunk

SVN合并分支到trunk:

cd 到trunk StarCar

cd /Users/LYPC/Documents/tttttu/trunk

svn merge --reintegrate  http://www.baidu.com/iOS/branches/demo/

http://www.baidu.com/iOS/branches/demo/

svn扩展命令那点事

find . -type d -name ".svn"|xargs rm -rf

将文件checkout到本地目录

svn co http://www.baidu.com/iOS/branches/demo/


导出(导出一个干净的不带.svn文件夹的目录树)

svn  export  [-r 版本号]  http://路径(目录或文件的全路径)

检出指定版本好的代码:svn co -r10403 http://http://www.baidu.com/iOS/trunk/demo/

6、删除文件

svn delete svn://路径(目录或文件的全路径) -m “删除备注信息文本”

推荐如下操作:

svn delete 文件名

svn ci -m “删除备注信息文本”

例子:

svn delete svn://localhost/testapp/test.php -m “删除测试文件test.php”

推荐如下操作:

svn delete test.php

svn ci -m “删除测试文件test.php”

7、加锁/解锁

svn lock -m “加锁备注信息文本“ [--force] 文件名

svn unlock 文件名

例子:

svn lock -m “锁信测试用test.php文件“ test.php

svn unlock test.php

svn log -r {2011-9-27}:{2011-9-29} -v

查的是27,28两天的

[CMD-SVN查看版本修改记录]

问题:想查看某个版本的具体修做了哪些改动?

方法:svn diff -r r1:(r1-1)  (filename)

filename可选,如果加上就表示查看该版本对该filename做了哪些改动。

-c r1选项等同于 -r r1:(r1-1)

[查看最近N条log]

问题:想查看最近N条log,看看是近一次commit的情况。

方法:svn log -lN

-l选项为limitation的意思,后面的N为数字,例如3,则显示最近3条log。

参考:http://blog.163.com/lgh_2002/blog/static/4401752620115151040235/

svn st 查看文件状态 M-修改  D-删除 A-添加 U-更新  ?-未知状态  !-警告  C-冲突

更新:svn update时解决冲突问题:

显示选择内容的时候,各个选择项的解释:

(p)  postpone    – mark the conflict to be resolved later //让文件在更新完成之后保持冲突状态。

(df) diff-full  – show all changes made to merged file //使用标准区别格式显示base修订版本和冲突文件本身的区别。

(e)  edit        – change merged file in an editor //用你喜欢的编辑器打开冲突的文件,编辑器是环境变量EDITOR设置的。

(r)  resolved    – accept merged version of file //完成文件编辑之后,通知svn你已经解决了文件的冲突,它必须接受当前的内容—从本质上讲就是你已经“解决了”冲突。

(mf) mine-full  – accept my version of entire file (ignore their change//丢弃新从服务器接收的变更,并只使用你查看文件的本地修改。

(tf) theirs-full – accept their version of entire file (lose my changes)//丢弃你对查看文件的本地修改,只使用从服务器新接收的变更。

(l)  launch      – launch external tool to resolve conflict//启动一个外置程序来执行冲突解决,这需要一些预先的准备。

(h)  help        – show this list //显示所有在冲突解决时可能使用的命令。

http://www.letuknowit.com/archives/svn-conflict-resolution/

(p) postpone          暂时推后处理,我可能要和那个和我冲突的家伙商量一番

(df) diff-full        把所有的修改列出来,比比看

(e) edit              直接编辑冲突的文件

(mc) mine-conflict    如果你很有自信可以只用你的修改,把别人的修改干掉

(tc) theirs-conflict  底气不足,还是用别人修改的吧

(s) show all options  显示其他可用的命令

删除svn控制的文件时:

svn rm --force myFileName

svn commit -m "删除myFileName文件"

?的文件:

svn add myFileName

替换项目:

查看某个路径下的所有项目:

svn ls      http://www.baidu.com/ios/

查看项目里面文件:

svn ls http://www.baidu.com/ios/demo

删除旧项目:

svn del http://www.baidu.com/ios/demo -m "删除原统计报表项目"

上传新项目:

svn import /Users/LYPC/Documents/项目 http://www.baidu.com/ios/ -m "上传运维晴雨表”

查看项目历时修改备注:

svn log  http://www.baidu.com/ios/demo

svn info 查看当前本地版本信息

svn需要忽略的文件

http://www.jianshu.com/p/4dc64a4052db

.xcodeproj里的文件大体上有3种:项目文件单个用户的文件跟workspace相关的文件

项目文件,需要同步;单个用户的文件,不需要同步;跟workspace相关的文件,视有没有深入使用workspace而定。总结2:需要同步的文件:project.pbxproj文件xcsharedata目录

不需要同步的文件user.pbxuser文件user.mode1v3/user.mode2v3文件xcuserdata目录

视workspace情况而定的文件:.xcworkspace目录.xccheckout文件

文/coderLee(简书作者)

原文链接:http://www.jianshu.com/p/4dc64a4052db

著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

svn命令忽略文件:

http://blog.csdn.net/samxx8/article/details/51244265

svn如何屏蔽/忽略不需要版本控制的文件

http://godera.blog.163.com/blog/static/215023060201312011112966/

svn 本地版本控制的文件svn版本与电脑带的svn版本不一致的时候, 报错

svn: E155036: Please see the 'svn upgrade' command

svn: E155036: The working copy at '/Users/LYPC/Documents/公司项目/StarCarShop'

is too old (format 29) to work with client version '1.9.5 (r1770682)' (expects format 31). You need to upgrade the working copy first.

解决参考链接:

http://blog.csdn.net/centralperk/article/details/48736031

解决方法:在目录下执行命令:svn upgrade

1. 取消Add/Delete

取消文件

svn revert 文件名

取消目录

svn revert --depth=infinity 目录名

2. 回退版本

方法1: 用svn merge

1) 先 svn up,保证更新到最新的版本,如20;

2) 然后用 svn log ,查看历史修改,找出要恢复的版本,如10 。如果想要更详细的了解情况,可以使用svn diff -r 10:20 [文件或目录];

3) 回滚到版本号10:svn merge -r 20:10 [文件或目录],注意版本号之间的顺序,这个叫反向合并;

4) 查看当前工作版本中的文件,如test.cpp和版本号10中文件的差别:svn diff -r 10 test.cpp, 有差别则手动改之;

5) 若无差别,则提交:svn ci -m“back to r 10,xxxxx” [文件或目录]。这时svn库中会生成新的版本,如21。

方法2: 用svn up

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

========================

改动已经被提交(commit)。

用svn merge命令来进行回滚。

回滚的操作过程如下:

1、保证我们拿到的是最新代码:

svn update

假设最新版本号是28。

2、然后找出要回滚的确切版本号:

svn log

假设根据svn log日志查出要回滚的版本号是25,此处的something可以是文件、目录或整个项目

如果想要更详细的了解情况,可以使用svn diff -r 28:25 ""

svn log -v -r 34 查看当前文件夹下某个版本的修改文件列表信息

3、回滚到版本号25:r10476

svn merge -r 28:25 ""

为了保险起见,再次确认回滚的结果:

svn diff ""

发现正确无误,提交。

4、提交回滚:

svn commit -m "Revert revision from r28 to r25,because of ..."

提交后版本变成了29。

将以上操作总结为三条如下:

1. svn update,svn log,找到最新版本(latest revision)

2. 找到自己想要回滚的版本号(rollbak revision)

3. 用svn merge来回滚: svn merge -r : something

更新至某个版本

svn update -r 版本号

svn help update

update (up): 将版本库的修改合并到工作副本中。

用法: update [PATH...]

如果没有指定版本,则将工作副本更新到 HEAD 版本。否则同步到 -r 选项所

指定的版本。

每更新一项就输出一行信息,使用首字符来报告执行的动作。这些字符的含义是:

A 已添加

D 已删除

U 已更新

C 合并冲突

G 合并成功

E 已存在

R 已替换

第一列字符报告项目本身。

第二列表示报告项目属性。

第三列中的字符“B”表示此文件上的锁被终止或窃取。

第四列中的字符“C”表示树冲突,同时“C”出现在第一列或第二列,分别表示

内容冲突或属性冲突。

如果使用了 “--force” 选项,在工作副本中未版本控制的障碍路径,不会自动

导致签出失败。 如果障碍路径与版本库中的对应路径类型相同(文件或目录),它

将成为受版本控制的路径,但是内容不改变。它意味着障碍路径的子孙,也可能

是障碍路径,同样会受版本控制。对于障碍路径中的文件,如果与版本库内的

不同,将视为工作副本发生本地修改。版本库中的所有属性都应用于障碍路径。

用第一列字符 “E” 来报告障碍路径。

如果工作副本中并没有指定的更新目标,但是有其父目录,那么就在指定路径上

将目标检出到其父目录中。如果使用了选项 --parents,就会创建目标的所有不

存在的父目录 (使用选项 --depth=empty)。

使用“--set-depth”选项设置此操作目标的工作副本之新深度。

有效选项:

-r [--revision] ARG : ARG (一些命令也接受ARG1:ARG2范围)

版本参数可以是如下之一:

NUMBER 版本号

'{' DATE '}' 在指定时间以后的版本

'HEAD' 版本库中的最新版本

'BASE' 工作副本的基线版本

'COMMITTED' 最后提交或基线之前

'PREV' COMMITTED的前一版本

-N [--non-recursive] : 过时;尝试 --depth=files 或 --depth=immediates

--depth ARG : 限制操作深度是 ARG ('empty', 'files',

'immediates', 或 'infinity')

--set-depth ARG : 设置工作副本的新深度为 ARG('exclude',

'empty', 'files', 'immediates', 或 'infinity')

-q [--quiet] : 不打印信息,或只打印概要信息

--diff3-cmd ARG : 使用 ARG 作为合并命令

--force : 强制操作运行

--ignore-externals : 忽略外部项目

--changelist [--cl] ARG : 只能对修改列表 ARG 的成员操作

--editor-cmd ARG : 使用 ARG 作为外部编辑器

--accept ARG : 指定自动解决冲突动作

('postpone', 'working', 'base', 'mine-conflict',

'theirs-conflict', 'mine-full', 'theirs-full',

'edit', 'launch')

(shorthand: 'p', 'mc', 'tc', 'mf', 'tf', 'e', 'l')

--parents : 创建中间目录

全局选项:

--username ARG : 指定用户名称 ARG

--password ARG : 指定密码 ARG

--no-auth-cache : 不要缓存用户认证令牌

--non-interactive : 不要交互提示

--trust-server-cert : 不提示的接受未知的证书颁发机构发行的 SSL 服务器证书(只用于选项 “--non-interactive”)

--config-dir ARG : 从目录 ARG 读取用户配置文件

--config-option ARG : 以下属格式设置用户配置选项:

FILE:SECTION:OPTION=[VALUE]

例如:

servers:global:http-library=serf

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

推荐阅读更多精彩内容

  • iOS 开发 SVN 版本控制器 更多技术交流请加群 iOS技术联盟 27512466 SVN是Subversio...
    Sunny_Fight阅读 8,708评论 7 63
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,497评论 18 139
  • 命令的使用 1、检出 svn cohttp://路径(目录或文件的全路径)[本地目录全路径] --username...
    小李龍彪阅读 4,381评论 0 9
  • WC:Working Copy 你的工作区 Versioned:受控的;受版本控制的 SVN是什么? SVN是开源...
    Programmer客栈阅读 681评论 0 4
  • SVN版本:1.5 及更新版本 名词说明: WC:Working Copy 你的工作区 Versioned:受控的...
    日风和阅读 4,250评论 1 23