• iOS版本管理工具SVN

    2016-08-31 14:27:26
    SVN(常用)  GIT(高大上) (GitHub, OSChina) 1. 安装SVN服务器 2. 创建仓库 3. 创建用户 4. 为仓库添加用户 5. 经理初始化项目 6. 张三同学Checkout检出进行开发 7. 李四新人加入,新人需要 源代码,需求...

    1.版本管理工具包括

            CVS(已过时)

            SVN(常用)

            GIT(高大上) (GitHub, OSChina)

    2.实际使用步骤:

        1. 安装SVN服务器

        2. 创建仓库

        3. 创建用户

        4. 为仓库添加用户

        5. 经理初始化项目并进行忽略xcuserdata操作

        6. 其他同事Checkout检出进行开发

        7. 李四新人加入,新人需要 源代码,需求文档,接口文档,效果图, 源代码一般先分配只读权限,熟悉代码之后再分配Write权限


    3.SVN服务器安装:

      Windows:安装Visual SVN Server(项目经理或系统维护人员操作)

     1. 安装SVN 服务器

                          





    2.创建仓库


                                        

    3. 创建用户

                           

     

     4. 初始化项目


    客户端:

    Mac :  Cornerstone(常用)、Versions、Xcode、Command Line

         

    Command Line(命令行):

             svn checkout 服务器地址 --username=xxx --password=xxx

             svn add  文件名

             svn commit  -m "注释"

             svn update

             svn resolve 文件名

             svn update -r版本号        // 还原到指定版本内容

             svn merge -r最新版本:回退版本 文件名

             svn revert  文件名

             svn remove 文件名

             svn log                        // 查看版本信息

            svn status

    Cornerstone

    一般情况下用Cornerstone进行项目初始化、忽略操作、打版本、分支、合并到主干操作,平常经常使用的更新、提交、冲突 使用Xcode中的Source Control 即可!
    Cornerstone可以忽略xcuserdata文件,而Xcode不能忽略该文件
    使用该工具应特别注意:一定要使用Command + R 经常刷新,因为Cornerstone不会主动刷新,会造成本地和Cornerstone上的文件内容不一致,不是最新的,在做版本备份和打分支的时候版本号也不是最新的,如果版本号不是最新的,会出现麻烦,因为版本都打错了

    操作步骤:

    1. 连接远程仓库
    2. 检出trunk
    3. 初始化项目并删除xcuserdata
    4. 重新生成xcuserdata并进行忽略操作并提交
    5. 其他同事开始开发



    Working copies:工作区     
    Repositories:仓库

    1. 连接服务器仓库


    2. 将远程仓库中的trunk代码检出到本地



    3. 在检出的目录下面创建工程,并提交





    4. 删除两个xcuserdata文件夹


    删除之后,要再update一下,然后再提交。

    5.生成xcuserdata,并进行忽略操作

    删除ViewController中内存警告方法,将目录结构折叠起来,并在viewDidLoad方法中加一个断点,这样查看Cornerstone poeject.xcworkspace目录下还会生成两个xcuserdata,并对其忽略操作! 然后先Update 再 Commit提交,然后修改一下ViewController中的viewDidLoad方法,使用Source Control -->Commit 当再一次修改源代码提交的时候就不会再有User Data 之类的文件了



    6. 再次提交时,发现已没有User Data文件夹了,可直接提交




    xcuserdata包含的内容

    记录用户上次打开的文件,用于xcode下次打开时,直接打开该文件
    记录目录打开的情况,以便xcode下次打开的时候还原上次的状态
    记录用户打的断点信息

    Project Settings: 该配置文件需要共享,该文件包含文件目录位置

    至此,初始化已完成,其他同事即可检出进行开发了,在之后的更新、提交、冲突操作可以直接使用Xcode中的Source Control进行管理即可

    在Xcode中使用SVN注意点:

    1. Xcode中的SVN不识别 【静态库 .a 文件(静态库包含实现代码,但不能被看到,保护核心源代码)必须使用命令行方式进行添加
    svn add Xxx.a    然后Source Control ----> Commit 提交
    2. Storyboard会被翻译成XML,一但Storyboard冲突,要想解决只能去修改晦涩的XML了,不忍直视!所以千万别让storyboard冲突,尽量只有一个人在操作Storyboard,但一般情况下app项目是按模块开发的,所以一般一个模块只有一个人在维护,这也减少了冲突的机会

    SVN状态:

    A:被添加到本地代码仓库
    M:被修改
    C:冲突
    D :被删除
    I: 被忽略


    trunk: 主线开发
    branches:为了修复tags中的bug,一般以fixbug作为后缀
    tags:版本备份

    1. 项目经过3个月的努力通过测试,完成了1.0版本,并已经上到App Store了;
    2. 将trunk下的这份代码打成1.0版本放到tags下进行版本备份Xxx1.0
    3. 开发人员接着开发第二个版本2.0
    4. 在开发第二个版本的时候,用户反馈第一个版本有一个重大bug需要紧急修复,开发人员需要将1.0版本的代码做成一个分支并起名Xxx-fixbug
    5. 接着开发人员checkout这个分支,并修复bug,并上传到app store, 并将该份代码进行1.1的版本备份 ,Xxx1.1
    6. 接着需要将分支合并到主干中并提交,并删除分支中的项目
    7. 开发人员接着开发2.0版本

    多更新,多提交,不要每天只提交一次,做好一个小模块或小功能就可以考虑提交,尽可能的避免冲突


    展开全文
  • CornerStone是Mac OS X系统下非常好用的一款svn工具,至XCode5之后,本人觉得XCode5的Svn实在让人不得要领,而CornerStone配置虽难,但也有几个需要注意的地方,分享给大家,也希望大家能多提意见 声明:...

    转自:http://my.oschina.net/joanfen/blog/194491

    CornerStone是Mac OS X系统下非常好用的一款svn工具,至XCode5之后,本人觉得XCode5的Svn实在让人不得要领,而CornerStone配置虽不难,但也有几个需要注意的地方,分享给大家,也希望大家能多提意见 声明:CornerStone是付费版128人民币,本文提供的破解版来自网络,仅供开发者学习交流使用,不可用作商业用途

    已经安装了的小伙伴请直接看三步骤

    一、下载地址

    CornerStoneV2.6:http://pan.baidu.com/s/1qWEsEbM密码:www.macx.cn

    二、安装破解方法

    1、安装之前将本机日期改为未来的某个日期,然后双击安装,按照指定流程操作即可

    2、如果安装前忘记改日期,则只能通过修改plist的方式进行破解

        a.显示系统隐藏文件,打开终端,输入,回车

    ?
    1
    defaults write ~/Library/Preferences/com.apple.finder AppleShowAllFiles -bool true

        b.重启Finder 按住Command+Option+esc打开对话框,选中Finder,点击重新开启

         

        c.在Finder中前往~/Library/Preferences/ByHost,找到其中的GlobalPreferences.…….plist文件,删掉包含有"com.zennaware.Cornerstone"字样的这一行,即清除了安装记录

        d.清除安装记录之后,如果这时电脑中没有CornerStone,则按照1步骤进行安装,如果已经安装,则卸载后按照1过程再次安装,即得到永久破解版

    三、添加repository

        点击左侧栏中REPOSITORY那一栏的+选择添加repository

            

    如果你公司的给你的repository地址为svn://开头,则选择SVN Server,如果为Http://或https://开头,则选择HTTP Server

      1.SVN配置

        假设你公司svn地址为:svn://192.168.1.111/svn/ios,用户名:svnserver,密码:123456

        

    • 1:填写主机地址
    • 2:如果你的主机地址中有端口号,如为192.168.1.111:8080,则2中填写8080
    • 3:填写主机后面的路径
    • 4:自动生成,如果你填写完之后不是这种svn://用户名@主机地址:端口号/路径的格式,则说明填写有误
    • 5:也会自动生成,将会在侧边栏显示为5中的名称,可以自定义名称
    • 6:用户名
    • 7:密码
    以上信息填写无误之后选择添加即可,如遇添加失败,信息填写无误,则联系管理员,查看地址,用户名,密码是否正确

      2.HTTP配置

         与svn一样,只有一个地方需要注意,如果地址是https://,则需修改下图所示位置的选项为HTTPS,否则也会添加失败

              

    四、使用简介

      1.上传项目到repository

        可以直接拖动到repository的子文件夹中,或是选择软件上方的Import按钮上传,会弹出选项填写所在位置及名称,然后选择Import即可

      2.下载项目

        下载分为两种:Export和Check Out,区别在于,Export后的项目不会与repository中的源文件相关联,是一个独立的版本,而Check Out下来的文件会创建一个working copy,参见步骤三的第一幅图,此文件与库中源文件相关联,当有新版本(他人修改)或是本地修改(自己修改)时,working copy会显示修改数量,白色数量为他人修改数量,灰色数量为本人修改数量

        所以如果你是项目中的开发人员,可以选择check out,如果只是下载查看,不希望自己的修改影响到整个项目,最好是选择Export

      3.版本管理

        每一次提交会创建一个新版本,在repository中会保存所有历史版本,如下图(可通过修改人及提交信息进行检索版本),所以用svn开发可以很好的控制项目出现不可解决及未知bug时代码的修复问题

        

        svn方便了多人开发同一项目的代码合并问题,但是也有一些事项需要注意:

       a)先更新后提交

    • 在看到有新版本(即同伴已经提交代码时),先更新代码,直至working copy不再显示白色圈,然后运行代码确定可运行且功能无误之后再commit自己的代码,否则,会造成项目中出现多处冲突或bug,且很难排查原因

       b)完成独立功能后再提交,且务必填写提交信息

    • 每完成一个独立的功能,或解决一个bug之后再提交代码,不要连续多次重复提交,造成版本过多过杂,且提交时务必填写提交信息,交代本次完成了什么功能,方便上图中可以进行message的搜索来查看历史版本

       c)冲突文件

    • 原则上同一组开发人员最好不要在同一文件中进行操作,但有时候必须去其他文件中进行操作,或者是误操作,如果同时多人在同一文件的同一位置修改代码,后提交的人会出现版本冲突文件,一般会有三个同样名称不同后缀的文件
    • .mine文件:本人所做修改
    • 两个.r0XX文件:XX为数字,数字较小的为更改前的文件,较大的为更改后的文件,在文件中会有<<<< mine .r0XX  >>>>>等字样包含起来的代码,即冲突的地方,此时请和组内同事讨论或自己删除某部分修改文件后进行调试,修复文件
    • 针对ios项目:出现某个工程或文件打不开的情况,如果为.project文件无法打开,则选择显示包内容->用文稿打开project.pbxproj文件->搜索.mine,将.mine部分前后<<<< >>>>包含起来的代码删除,工程就可以打开了,如果build时出现某个xib文件打不开的错误,则选中,用文稿打开,跟上文同样操作即可解决无法build的问题

       d)新添加文件

     提交时新增加的文件显示为问号状态的,请选中右击后 选择Add to Working Copy之后再commit       

       


    展开全文
  • 1、打开终端,输入cd,空格,然后将需要上传的.a文件所在的文件夹(不是.a文件)拖拽终端(此办法无需输入繁琐的路径,快捷方便) ,回车; 2、之后再输入如下命令:svn add libOCMock.a,回车; 3、之后会出现...

    使用命令行添加文件步骤:

    1、打开终端,输入cd,空格,然后将需要上传的.a文件所在的文件夹(不是.a文件)拖拽到终端(此办法无需输入繁琐的路径,快捷方便) ,回车;

    2、之后再输入如下命令:svn add libOCMock.a,回车;

    3、之后会出现:A (bin) libOCMock.a
    表示添加成功,打开Versions就可以看到,刚才添加的.a文件,此时就可以手动上传了。表示添加成功,打开Versions就可以看到,刚才添加的.a文件,此时就可以手动上传了。

    另外,在mac 10.8中输入命令行,可能会提示你command not found,因为10.8默认没有安装Command line tools,解决办法:command not found解决

    4、添加完成后,手动到文件夹中找到需要提交到.a文件,右击,选择提交到svn,就ok了。

    更多文章

    CocoaPods开源库的搭建
    CocoaPods搭建私有库
    CocoaPods搭建私有库遇到问题
    CocoaPods私有库的升级维护
    SKStoreReviewController之程序内评价
    App应用程序图标的动态更换
    开源框架 MGJRouter_Swift
    iOS的MVP设计模式
    iOS插件化
    iOS FMDB的使用
    Swift之ReactiveSwift
    OC之ReactiveCocoa
    OC之ReactiveCocoa进阶
    iOS 性能考虑

    展开全文
  • xcode 操作SVN

    2017-12-13 11:43:09
    1.xcode > preference > accounts >添加Repository ...2.source control > commit 把要提交的都提交。...svn import -m "2.2.1" https://xxx@xxxxxx.com/svn/appios ...提交到svn (source

    1.xcode > preference > accounts >添加Repository



    2.source control > commit 把要提交的都提交。

    3.在终端切换到项目所在文件夹

    svn import -m "2.2.1" https://xxx@xxxxxx.com/svn/appios

    提交到svn

    (source control里有push,但是应该是哪里设置不对,总是提交不上去,没弄明白,只能先用终端来提交,等搞清楚了再来更新)

    4.上传成功后下载svn的项目

    svn checkout https://xxx@xxxxxx.com/svn/appios

    补充:终端查看svn文件 :svn ls https://xxx@xxx.com/svn/appios

    展开全文
  • iOS Xcode中SVN的配置

    2014-12-22 20:54:17
    iOS Xcode中SVN的配置 系统信息: Mac OS X:10.8.4 XCode:4.6.3 一、首先检测系统是否已经安装了SVN 打开终端,键入 ? 1 svn -version 如果 系统已经装了SVN,终端会输出 ? 1 2 ...

    iOS Xcode中SVN的配置

    系统信息:

    Mac OS X:10.8.4

    XCode:4.6.3

    一、首先检测系统是否已经安装了SVN

    打开终端,键入


     
    svn -version
    如果 系统已经装了SVN,终端会输出

    1
    2
    svn: invalid option character: e
    Type 'svn help'forusage.

    如果系统中没有安装svn,终端会输出


    1
    svn:command not found
    如果还没有安装SVN,安装方法如下:

    打开XCode,选择Preferences->Downloads(command+,)下载Command Line Tools,如下图


    二、打开终端,进行配置supervision

    1.在终端输入:


     
    ~/.subversion/config
    1.1如果 出现

    说明“.subversion”目录不存在,否则直接跳到2步骤

    1.2请在终端输入


     
    svn status
    1.3会出现

    命令失败,但是没有关系,这会为我们创建config文件

    2.在终端编辑


     
    open ~/.subversion/config
    会为我们打开配置文件,如下图

    3.在config文件中按command+f(mac页面内搜索,在safari,xcode等都通用)找到global-ignores一行,如图

    去掉白色那一行的注释

    PS:此处一定要记住,在去掉#号注释时,一定要将前面的空格去掉,否则去配置svn地址时也会失败,如果后面配置不成功,返回来照这些步骤再重新检查一次,是否有操作失误的地方

    编辑成


    1
    global-ignores = build *~.nib *.so *.pbxuser *.mode *.perspective*
    4.按3方法在config文件中找到enable-auto-props = yes,去掉此行注释

    然后在下面几行的[auto-props] Section中声明以下文本


    4
    *.mode* = svn:mime-type=text/X-xcode
    *.pbxuser = svn:mime-type=text/X-xcode
    *.perspective* = svn:mime-type=text/X-xcode
    *.pbxproj = svn:mime-type=text/X-xcode

    三、配置XcodeSVN

    找到Xcode的Organizer->Repositories

    添加svn地址:

    输入svn用户名和密码:

    点击OK后选择分支等(也可不选择直接添加,根据自己需要),选择Add后出现如下界面,就成功了

    附:可以使用第三方软件cornerStone,AppStore 上售价128人民币,网上有破解版,在http://www.macx.cn上有破解版,搜索即可,如果在安装时出现user/apple/.subversion/config:94:option expected的警告错误,请参照上面二、3步骤,但是个人感觉XCode自带的SVN也很好用,祝大家好运


    展开全文
  • iOS svn 命令行实现

    2019-04-28 10:30:43
    Mac 自带svn 使用 一、将文件checkout本地目录 1 svn checkout path(path是服务器上的目录) 2 例如:svn checkout svn://192.168.1.1/pro/domain 3 简写:svn co 二、往版本库中添加新的文件 1 svn add ...
  • IOS xcode 删除git使用svn

    2014-04-29 16:15:31
    一、为什么要这样做? 由于git yu
  • Xcode的SVN功能,和Eclipse中的subclipse或者windows下的tortoiseSVN比较起来功能还差很多。 我是索性不用的,直接用命令行。我看有的朋友是用subclipse,其实也挺好,不过,为了使用SVN功能要单独开一个耗费资源...
  • iOS App 启动性能优化

    2017-08-18 09:59:05
    本文来自于腾讯Bugly公众号(weixinBugly)...导语本文介绍了如何优化iOS App的启动性能。本文分为四个部分: - 第一部分科普了一些和App启动性能相关的前置知识 - 第二部分主要讲如何定制启动性能的优化目标 - 第三
  • 更新macOS 10.15 Catalina后,很多在10.14上可以使用的App都会提示提示【xxx已损坏,无法打开,你应该将它移废纸篓解决办法】,哪怕你在【安全与隐私 》 通用】中已经开启了“任何来源”,但还是会这样提示,下面...
  • 点击“Finder->前往->资源库->Developer->Xcode->DerivedData”,【看不到“资源库”?点击“前往”,看到菜单栏时,按“Option”就看到了.】或者点击“Finder->前往->前往文件夹”,输入:”/Users/你当前登陆的...
  • 分享一个朋友的人工智能教程(请以“右键”->"在新标签页中打开连接”的方式访问)。比较通俗易懂,风趣幽默,感兴趣的朋友可以去看看。 一:使用场景: 假如你的项目(这里指的是手机客户端项目)的某个版本...
  • iOS APP开发工具

    2015-01-08 17:00:26
    iOS APP开发的怎么能知道这些,iOS APP开发必备工具,需要的速来拿!   1、ShareSDK  功能强大、简单易用的iOS app开发必备社会化分享类库:ShareSDK。iOS app开发者只需10分钟即可集成自己的APP中。...
  • IOS开发资料地址大全

    2018-05-16 10:29:14
    IOS推送功能地址 ——&gt; IOS推送证书资料地址 百度推送官方文档苹果开发者网站地址 ——&gt; 苹果开发者地址iTunes Connect APP管理发布地址 ——&gt;iTunes APP上架 IOS证书(.p12)和描述文件的...
  • //联系人:石虎 QQ: 1224614774 昵称:嗡嘛呢叭咪哄 1、检出 svn co http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码svn co svn://路径(目录或文件的全路径) [本地目录全...sv
  • 如果一个目录中的文件过多,并且我们并知道每个文件在SVN下的状态,这时如果我们只是要递交修改过的文件? 思路: 1,查看所有文件的状态 2,通过文件状态筛选出状态为“M”(修改)的文件 3,递交 解决办法: 1,...
  • Can't locate Git/SVN.pm in @INC (you may need to install the Git::SVN module) (@INC contains: /usr/local/git/share/perl5 /Applications/Sourcetree.app/Contents/Resources/git_local/lib/perl5/site...
1 2 3 4 5 ... 20
收藏数 4,459
精华内容 1,783