原文网址:http://it.zhaozhao.info/archives/60469

有一次笔者在开心项目准备尝试新的练习的时候,赫然注意到在选择档案存放位置的时候,下面有个Source Control 可以勾选,那么究竟这是什么东西,一瞬间就勾起了许多的好奇心。经过一番研究之后,原来还有"版本控制"这个概念。其实这个概念以笔者目前的理解,就是把每个阶段的构想完成之后,储存起来并留下批注与版本编号,假如日后有不同的想法,可以从某个合适的版本从新开始,省去许多麻烦。本篇文章只先针对简单的设定,还有使用方式做一个解说,笔者认为这个观念建立及使用的好,不仅可以增加效率,还可以帮助整理思路。那么以下就针对如何在Xcode 中使用Source control 做一个说明。

首先当然是开一个新的项目,在这里使用的是single view 这个样板,然后为项目命名,之后到了选择存放位置的时候,记得勾选Source Control。如果你发现他呈现灰色的状态,如下图,无法勾选,那就表示这个位置已经有建立版本控制了。

什么意思呢?在此先针对Xcode 的Source control 做一个简单的说明,Xcode 做版本控制是选择一个文件夹,在这个文件夹里面的档案,都会受到版本监控。因此,笔者对于每一个正式的项目,都会建立一个它专属的文件夹,方便对这个项目做监控,而不会跟其他的项目产生混淆。

项目建立完成之后,就可以开始测试Source control 了。首先随便选一个档案,笔者选择初始画面的实作档,并在程序代码内加入一段批注,如下图。

然后就能做版本控制的测试了。首先对实作档点右键,选择"Source control"->"Commit Selected Files",如下图。

会出现以下画面,左侧是你目前的程序代码状态,又测试你在上一次执行commit 时的状态。是不是清楚明了呢。而下方的空白处,就是让你针对这次的commit 做描述的。打完叙述之后,就可以点下commit 完成这次版本的储存了。

之后笔者改变这段批注。随后又后悔了,因此想回到上次的某个版本。怎么办呢,很简单,只要点选右上角的Edit 栏里最右边那个,就会切换到像上图一样的画面。按下两边程序代码中间的时钟按钮,就会出现时间轴,如下图。左右的页面都可以选择时间轴的位置。左边就是改变了的批注,右侧就是某个时间点做commit 当时的批注。

接着将时间轴缩起来,改变的地方中间会有个按钮,如下图,左键点击之后,出现"Discard Change"这个选项, 点下去之后,目前的程序代码就会回到跟右边一样了。

上述只是很简单的版本控制,其中还有许多强大的功能可以使用,本篇文章只先针对基本的使用方法做介绍,更深入的方法,就静待各位去发掘,有所收获时,也请不要吝情跟笔者分享。

【转】使用XCODE 的SOURCE CONTROL 做版本控制 (1)的更多相关文章

  1. 使用XCODE 的SOURCE CONTROL 做版本控制 (1)

    http://it.zhaozhao.info/archives/60469   这是一篇关于 开发者在修改代码中非常常用的一个功能: 应用场景: 当你将代码该的面目全非,还不如从其那,这时候又想回到 ...

  2. 在xcode5下利用Source Control 做 git 项目管理

    xcode5做了很大的更新,其中一点非常实用的功能是集成了Source control项目管理,而且和git做了完美的结合:非常实用: 使用: 在新建项目时,选择 下面的 Create a git r ...

  3. Xcode使用source control 时提示the server certificate failed to verify 的解决办法

    wusipingdeMacBook-Pro:~ railgun$ wusipingdeMacBook-Pro:~ railgun$ svn ls https://13.13.13.134:8443/s ...

  4. How To Use Git Source Control with Xcode in iOS 6

    This tutorial is by Malek Trabelsi, a passionate iOS developer from Tunisia focused primarily on mob ...

  5. 在UE4中使用SVN作为source control工具

    ==========预先处理 1.到这个目录下 2.鼠标在空白处 按住shift键 同时右键 会多出一个 可以打开的cmd 3.输入命令,修改红线部分. me: 登陆svn地址的用户名, URL网址: ...

  6. Red Gate - SQL Source Control实现对SQL SERVER 的源代码控制

    原文地址:http://bbs.csdn.net/topics/350165431 SQL Server 一直没有一款很好的源码控制器,之前自己曾尝试自己写一个,将所有的 脚本 自动生成到某一目录下, ...

  7. Red Gate系列之二 SQL Source Control 3.0.13.4214 Edition 数据库版本控制器 完全破解+使用教程

    原文:Red Gate系列之二 SQL Source Control 3.0.13.4214 Edition 数据库版本控制器 完全破解+使用教程 Red Gate系列之二 SQL Source Co ...

  8. SQL Source Control for teams

    You'll use SQL Source Control differently depending on which development model you're using: 不同的模式有不 ...

  9. SQL Source Control

    https://documentation.red-gate.com/display/SOC5/SQL+Source+Control+5+documentation Working with migr ...

随机推荐

  1. 在Windows下用Mingw 4.5.2编译X264

    1.下载mingw-get-inst-20110530.rar(http://www.baidu.com/link?url=-ixXW6QiuEl8CA1dKudoWCxzcTvxrpQ0nXRBHU ...

  2. 之前可运行mongodb,后来却不行了显示Unclean shutdown detected mongodb

    解决办法有三个: 第一个:如果你之前可以运行,说明你已经有数据存放目录了,你可以把数据存放目录之前的数据清空再启动,在配置一下 第二个:使用mongod --repair --dbpath D:\Mo ...

  3. 走进WCF一 (异常如此多娇,引无数码农竞折煞)

    对于WCF一直都是只知其然,公司框架的架构者也只是对我们授之以鱼,而不授之以渔. 带着初学者的态度进入了大神Artech的博客,逐步慢慢上手. 我的解决方案(和大神的一模一样,只是过程中一波三折的) ...

  4. controller.pp 各组件的安装顺序

    controller 属性:         admin_address => $controller_node_address,         public_address => $c ...

  5. 编译报错GLIBCXX_3.4.15 clock_gettime@@GLIBC_2.2

    GLIBCXX_3.4.15 升级gcc,g++编译器 clock_gettime@@GLIBC_2.2 链接库时加-lrt

  6. vs2013 上传碰到的问题:“输入的不是有效的 Base-64 字符串 ”

    action 代码: [HttpPost] [ValidateAntiForgeryToken] public ActionResult Create( ImageStoreModels images ...

  7. Bootstrap 与 ASP.NET MVC 4 不使用 NuGet Package 笔记

    转自 http://www.mytecbits.com/microsoft/dot-net/bootstrap-with-asp-net-mvc-4-step-by-step 单位最近做了一个Boot ...

  8. 《JavaScript设计模式与开发实践》-面向对象的JavaScript

    设计模式 面向对象 动态类型语言 编程语言按照数据类型大体分为:静态类型语言和动态类型语言. 静态类型语言在编译时便已确定变量的类型,而动态类型语言的变量类型要到程序运行时,待变量被赋予某个值之后,才 ...

  9. quicksort+binarySearch

    描述 数轴上有n个点,对于任一闭区间 [a, b],试计算落在其内的点数. 输入 第一行包括两个整数:点的总数n,查询的次数m. 第二行包含n个数,为各个点的坐标. 以下m行,各包含两个整数:查询区间 ...

  10. [JavaScript] js获取Html元素的实际宽度高度

    第一种情况就是宽高都写在样式表里,就比如#div1{width:120px;}.这中情况通 过#div1.style.width拿不到宽度,而通过#div1.offsetWidth才可以获取到宽度. ...