[iOS_Dev] svn 命令行

[iOS_Dev] svn 命令行

1. 打开 终端
2. cd  <你的项目 本地全路径> 
3. svn 命令行


//****************************************************************************************************************************************************************************//


1、初始化项目
svn import /Users/cress/本地项目目录  https://server/项目目录 -m "Initial import"

2、下载项目
svn checkout https://server/项目目录

3、添加文件
svn add test.txt

4、提交添加的文件,或者本地做的修改提交到服务器端
svn commit -m "add test.txt by test"

5、删除项目中的相应内容
    svn delete https://server/项目目录/文件名称 -m "delete test.txt for test"
    svn delete /Users/cress/本地项目目录 -m "delete test.txt for test"

6、更新最新版本
svn update
svn update -r 200 test.txt    (更新指定的版本)

7、查看本地修改的文件状态
svn status

8、单纯导出一个干净的项目内容(项目内容不带有svn隐藏记录信息)
svn export https://server/项目目录

9、加锁/解锁
svn lock /Users/cress/本地项目目录(或文件名)-m "批注"
svn unlock /Users/cress/本地项目目录(或文件名)

10、查看日志
svn log test.txt

11、比较差异
svn diff -r m:n test.txt  (对版本m和版本n比较差异)

12、合并两个版本
svn merge -r 12:14 text.txt  (把版本12和14之间的差异合并到当前的文件中)

13、svn帮助
svn help
svn help commit

14、冲突合并
svn resolve --accept working test.txt

14、恢复本地修改
svn revert [-R] something
something可以是(目录或文件的)相对路径也可以是绝对路径。
当something为单个文件时,直接svn revert something就行了;当something为目录时,需要加上参数-R(Recursive,递归),否则只会将something这个目录的改动。

14.2 回滚到指定的版本
svn update -r 回滚到的版本号  如:svn update -r 2113
提交回滚
svn ci -m “注释”  如:svn ci -m "添加模块协调者之前的标签"

14.3 复制一个项目
svn copy 原地址 目标地址
如:svn copy http://58.249.55.68:8091/product/MicroAPP/02-iPhone/02-code/03-Tag/MicroAPP-v3.1.1-2112-20140630 http://58.249.55.68:8091/product/MicroAPP/02-iPhone/02-code/02-Branch/MicroAPP-v3.1.1-2112-20140630 -m "添加模块协调者的分支"

15、代码库URL变更
svn switch <branch_full_url>   (切换分支)
svn switch --relocate <from_url> <to_url> [path]  (切换资源库)

switch用于在同一个版本库内不同分支之间的切换
relocate用于版本库访问地址变更时,重新定位版本库

比如,由于SVN服务器更换到另一台主机上,这是SVN服务器的地址改变了,那么各客户端就无法连接SVN服务器了,这时各客户端就需要执行relocate,将本地工作区的连接到新的服务器上去

而如果同一个版本库内,如果有多个分支,比如你现在正在trunk上开发,但需要切换到某个分支上开发,那么你可以用switch来进行这个切换操作,这时SVN会比较trunk和这个分支之间的差异,将差异部分传送到你的本地工作区,而不用将整个分支传送给你,从而避免巨量数据的传输。switch操作之后,你所进行的update、commit操作都变成了针对那个分支,当你在分支上的工作完成后,还可以再次switch回trunk。

switch还有另外一些用途,比如希望让分支中的某个文件夹保持和trunk同步,因为有人正在trunk的这个文件夹中进行开发,在分支中想用到开发的最新成果,那么就可以在分支的这个文件夹上设置swtich到trunk,这时update整个分支的话,就会把trunk上的这个文件夹取下来了。但是,当然你如果修改了这个文件夹的内容,commit后也是提交到了主干而不是提交到了分支。

16、打标签
每达到一个里程碑都应该给代码打个标签。
打基线---就是打标签,只是加上文档等资料
标签的特点?
       只读
如何打标签?
        Versions工具不能打标签,要打标签就要使用命令终端,通过命令来输入。
       打标签其实就是执行复制:svn copy。
       svn copy 命令不是真正复制真实的文件,而是只是对各个文件做版本记录,
       不占多大的服务器空间。
        svn copy 命令格式:
        svn copy 源URL  目的URL  -m “注释”

12、打分支
什么时候该打分支?
当主线项目需要添加一个新的功能,而这个功能需要开发比较长的时间。在新功能开发的这段时间内,主线的项目还需要继续修改Bug,发新版本。这种情况下,就需要另起个分支,用来开发新功能,而且不影响主线程的进度。
       分支开发注意的地方:
      1)主线尽量不要改变分支上要更改的文件
      2)分支尽量代码独立

如何打分支?
打分支和打标签是一样的,命令也是 svn copy,格式也是一样的。

14、合并代码
          在分支上开发代码完成后,就需要把分支的代码合并到主线程,有时特殊需要,也会把主线的代码合并到分支中。
         合并分支要注意的地方:
         1)要记录打分支时的版本号
         2)要记录每次合并代码的版本号
        如何合并代码?
例子:把分支的代码合并到主线中
        终端命令进入主线代码的跟目录,执行如下命令:
svn merge –r 打分支时版本号或者上次合并的版本号:HEAD 分支URL

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. AccountsTester(账户测试) 1.1 Select Account Type(选择账户类型) 1.2 Get By Type(通过类型获得) 1.3 Get All(显示全部) 1.4 Add(增加用户) 1.4.1 可以简单的几个步骤配置一个交换用户(email地址和密码) 1.5 Properties(属性) 1.6 features(特征) 1.7 authtoken type(用户标志类型) 2.Bad Behavior(屏蔽垃圾发布器) 2.1 Crash the main app thread(破坏主要的应用程序线程) 2.2 Crash an auxiliary app thread(破坏一个辅助应用程序线程) 2.3 Crash the native process(破坏本地进程) 2.4 Crash the system server(破坏系统服务器) 2.5 Report a WTF condition(????) 2.6 ANR(Application Not Responding)(Stop responding for 20 seconds)——(应用无响应)(停止反应20s) 2.7 ANR starting an Activity(运行一个活动,但是应用无相应) 2.8 ANR recriving a broadcast Intent(接收一个广播意图,但是应用无响应) 2.9 ANR staring a Service(运行一个服务,但是应用无响应) 2.10 System ANR(in ActivityManager(系统无响应)(在行为控制器上) 2.11 Wedge system(5 minutes system ANR)(楔板系统)(5分钟系统无响应) 3.configuration(配置) configuration 3.1 fontScale=1.0(缩放比例=1.0) 3.2 hardKeyboardHidden=2(隐藏硬件键盘=2) 3.3 keyboard=2(键盘=2) 3.4 locale=en_US(现场环境=英文) 3.5 mcc=310(电机控制中心=310???)(MOTOR CONTROL CENTER) 3.6 mnc=260(位技术控=260)(Microcomputer Numberical Control) 3.7 navigation=3(导航=3) 3.8 navigationHidden=1(隐藏导航=1) 3.9 orientation=1(定位=1) 3.10 screenLayout=0x22(屏幕格式=0x22) 3.11 touchscreen=3(触摸屏=3) 3.12 uiMode=0x11(用户界面模式=0x11) DisplayMetrics(不显示的属性) 3.13 density=1.5(密度=1.5) 3.14 densityDpi=240(密度分辨率=240) 3.15 heightPixels=800(高度像素=800) 3.16 scaledDensity=1.5(尺度密度=1.5) 3.17 widthPixels=480(宽度分辨率=480) 3.18 xdpi=240.0(x轴分辨率=240.0) 3.19 ydpi=240.0(y轴分辨率=240.0) 4.Connectivity(连接工具) 4.1 Enable Wifi(启动Wifi) 4.2 Disable Wifi(关闭Wifi) 4.3 Start Wifi Toggle(启动Wifi开关) 4.4 Stop Wifi Toggle(关闭Wifi开关) 4.5 Wifi on(ms)(Wifi开启多长时间) 4.6 Wifi off(ms)(Wifi关闭多长时间) 4.7 Cycles done:1(周期做一次) 4.7.1 Start Screen Toggle(启动屏幕开关) 4.7.2 Stop Screen Toggle(关闭屏幕开关) 4.7.3 Wifi on(ms)(Wifi开启多长时间) 4.7.4 Wifi off(ms)(Wifi关闭多长时间) 4.8 Cycles done:0(周期做0次) 4.8.1 Start MMS(开启彩信) 4.8.2 Stop MMS(关闭彩信) 4.8.3 Start HiPri(开启导航) 4.8.4 Stop HiPri(关闭导航) 5.Development Settings(开发设置) 5.1 Debug App(调试程序) Android 键盘/Android 系统/API Domes/Certificate Installer(证书安装)/com.android.gestuer.builder()/com.android.sdksetup()/Custom Locale()/Dev Tools(开发工具)/Example Wallpapers(墙纸式样)/HTML查看器/Live Wallpaper Picker(动态壁纸选取)/NetSpeed(网速)/OpenWnn(一种输入法)/Pico TTS(语音程序)/Sample Soft Keyboard(样品软键盘)/sdk2.3/Spare Parts(备件)/Speech Recorder(演讲录音机)/Status Bar(状态栏)/Terminal Emulator(终端模拟器)/TTS Service(TTS服务)/User Dictionary(用户词典)/拨号器/拨号器存储/打包安装程序/发送电子邮件/谷歌拼音输入法/后备/计算器/联系人存储/浏览器/录音机/媒体存放/启动器/软件包访问帮助程序/设置/设置存储/时钟/受DRM保护的内容的存储/搜索/搜索应用程序提供商/通讯录/下载管理器/下载内容/相机/信息/虚拟专用网服务/音乐/账户与同步设置/住屏幕提示 5.2 Wait for debugger(等待调试程序) 5.3 pointer location(触点位置) 5.4 show running processes(显示运行的程序) 5.5 show screen updates(显示屏幕更新) 5.6 Disable compatibility mode(禁用兼容性模式) 5.7 app process limit(应用程序限制) 5.8 immediately destroy activities(立即毁坏项目) 5.9 show cpu usage(显示CPU的进程) 5.10 show sleep state on LED(再LED上显示睡眠时间) 5.11 window animation scale 1x(窗口动画规模1X) 5.12 transition animation scale 1x(转换动画模式1X) 5.13 Light Hinting(轻显示) 5.14 show gtalk service connetion status(显示即时通讯连接标志) 6.goole login service(谷歌登录服务) 7.Instrumentation(仪表) 7.1 local sample(本地例子) 8. Media Scanner(媒体扫描仪) 9. Package Browser(包浏览器) 目录参照5.1 例如:Android键盘 Package Summary(包装总结) a. com.android.inputmethod.latin(来源网站) d. Restart(重启) b. (No Application Class)(无应用类型) c. (NO Label)(无标签) e. system(系统) f. process(程序) com.android.inputmethod.latin g. User ID(用户帐号) 10016 h. Task Affinity(任务类同) "com.android.inputmethod.latin" i. Version(版本) 2.3.1(#9) j. Source(资源) /system/app/LatinIME.apk k. Data(数据) /data/data/com.android.inputmethod.latin l. Activities(活动) LatinIMESettings/LatinIMEDebugSettings/InputLanguageSelection 例如:LatinIMESettings“android键盘设置” Multiple(normal):倍数(正常的) Process(程序) com.android.inputmethod.latin Task Affinity(任务类同) com.android.inputmethod.latin Required Permission(许可要求) (none) Multiprocess(多处理器) No Clear on Background(在背景中清理) No State Not Needed(国家不需要) No m. Services(服务) LatinIME(android键盘) 10. Pointer Location(触点的坐标位置) P:0(左键松开)/0(没有触点屏幕);X和Y(复位值):绝对值的dx为横向的绝对长度,正号代表从左向右触摸,负号正好相反。dy的绝对值代表纵向的绝对长度,正号代表从上往下触摸,负号正好相反;Xv和Yv:表示红线的横向和纵向相对长度,正负号的意思和X和Y一样;Prs:是否有点击屏幕;Size:线的尺寸(只显示一种) 11.Running processes(正在运行的程序) 例如:system process Information(程序信息) Process Name:(程序的名字) system(系统) package in process:(在程序中的包文件) android com.android.providers.settings 12. Sync Tester(同步测试) 12.1 Registered Sync Adapters:(注册同步适配器) 12.2 选择网站 12.3 bind(捆绑):点击显示:a.已经连接到同步适配器.b.连接资源地址:。。。c.账户类型:。。。 unbind(不捆绑);start sync(开始同步) cancel sync(取消同步)。 13. Terminal Emulator(终端模拟器)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值