以Xcode中采用Git进行源码版本控制

私藏

“我是慢热的性情,即使是室友琪琪也是今天才认识的,不熟悉的人话不是累累。”她解释道。

“说之好像我们俩老大熟一样?”我揶揄她。

“虽然未成熟,毕竟也呈现了些微软对了,倒是你,见到本人仿佛不识一样。”她嗔怒,拿起在岩石上的手电筒,朝我照过来。

“嗯?”我眉毛拧在联合,透过手指间的夹缝,乜斜着上下打量她,并不曾专门熟悉的感到。

“你这样健忘,上午才显现了就是无记得了?”她取消手电筒,把手电筒往上端正竖直在胸前,照在协调之脸孔,自下而上的光线使其的五共用明暗变幻,诡谲古怪。

“真不记得了,你知道人吓人,吓够呛人乎!”我赶忙示意她将手电筒拿下来。

“图书馆,《唐人小说》,记起没有?”

“你是自家遇到至之非常女孩?”

“你毕竟记起了!”

“天呐,这么巧,早上只顾着借书了,你的典范我从没有看到,所以我杀根不知道你长之啥样的。”我指着好的头颅,表明无是祥和健忘。

“对了,你让什么名字,我今天尚未晓怎么叫您吗!”

“木子飞扬。”

“真的假的,这怕不是公的网名吧?”

“真的呀,我照姓木,妈妈姓李,所以爸爸便于自身自名叫木子飞扬。”

“名字真个不错,要是改化‘清扬’,听起来就还发生诗意与气韵了,诗经里说‘有美一人口,婉如清扬’,清扬就是负眼睛看起格外抖。”我莫自觉地往她的眸子看去,可惜她已经垂手电筒,营地灯散发微弱的幽光不足以看清其底眼睛。

“还好我爸妈没有念了《诗经》,要不然我就算得也有洗发水品牌代言了。”飞扬秀眉微蹙,显然认为自身的建议并无指谱。

“你究竟是一个内向的女生,还是活跃的女生?”看正在她脸蛋这么多微表情和动作,我真怀疑它们是否是才够呛她了。

“我说了,我属于慢热的。”飞扬轻轻重复道。

“现在感情还非常不耐烦,越接近社会越没有耐心,现在之校园就是半个社会,远没大学那么单纯了。你这么,选择对象的退路会再也不见之。”我啊未掌握怎么就商量感情及了。

“但是自还是向往校园爱情的,可惜错了了早恋的岁数。”飞扬托着下巴,又于星空看去。

“哈哈,你还有机会的,等您毕业后当女性导师的时刻,还能以学里寻男教师,勉强也算是校园恋爱了,不过是超龄的。”我打趣说道,她面朝星空,我岂还看不到它们底眼睛。

她不再回,两独人虽如此突然就陷入沉默。星空下是整片城区,说实话,如果在在乡间要重新偏僻之远郊,眼前的色已会被您当比较星空还得意。她是万紫千红的,像画家手里的调色盘,在夜间肆意对针对都市上去以缤纷鲜艳的水彩;她是律动的,像活的舞蹈家,时而是轻柔优雅的华尔兹,时而是暂停挫强劲的探戈;她是梦境的,一会儿是一个简单,密密麻麻,一会儿拖在长残影,在您什么样我逮,一会以成为一道道曲直不一的光线,那是都活力的曲线,是都市前行之脉搏。

“你看,山下的灯光也大美。距离而越是接近,越感受不至它们底抖,我们在城中待的绝老了。”我怀念打破凝固的空气。

“美吗?我要么看星空虽然多,但是看看它们眨眼,心里就是暖暖的,城市则临近,周围无一不是冷冰冰的百折不挠。”她的弦外之音有同丝冰凉。

在望之交谈后,又归于沉寂。夜里风不小,还吓我们露宿之地点选以背坡,穿上防寒服还能回答,飞扬依旧看正在夜空一言不发,一阵风漂了,她双手捧在脸上,不知底当抗凉风,还是当思维什么。

此刻听到帐篷里出发的响声,她连忙站起来,脱下防寒服,一边往帐篷走去,一边坐对正值自身抬起右手,“晚安,睡啊”。这时候良子从帐篷里出来,睡眼惺忪,揉了团眼睛,对本身说:“我刚好听到什么动静,没事吧?”

“能发啥事,你这同样睡眠,睡了简单单钟头。”我趁良子不在意,瞄了扳平肉眼女生帐篷,飞扬迅速上后,一点儿音响还没。

“还充分冷之,我上床好了,你失去睡觉吧。”良子过来抢拿防寒服穿上,把拉链拉的牢牢的,直接戴上帽子:“哎呦,这防寒服怎么老暖和的,还坏香的。”

“废话,刚才飞扬刚刚散下来,能无软,便宜而马上小子了。”我心嘀咕道,但是嘴上不能够露馅:“刚才自己坐于屁股下之,所以有体温,很正规。”

“你——有种植!”良子这将衣服脱下来,砸在自己身上。

“逗你打的,刚才自己通过了一定量宗。”我理由早编好了。

“是为?”良子斜着头,盯在本人之肉眼,想寻找有一些破绽,可惜我眼神如炬,丝毫不退缩,他只能作罢,不过看他的表情,应该是休会见失掉嗅此香味了。

“我莫去睡觉了,一起走近夜吧!”我了解一个口守夜的无聊,加之并无是异常疲倦,所以决定与良子一起。

“你当自家一会。”良子神秘兮兮地失去包那儿搜寻在什么,不一会,他怀里揣在东西过来。“够兄弟,我吧无可知亏待君。”他直接将以来之东西“砰”的一致名声倒以地上,我凝视一双眼,好兵,一打罐装青岛啤酒,两兜子花生米。

“你什么时打的?怎么吃饭的早晚从不将出来?是勿是我一旦错过睡觉就从不我之客了?”我事先收拾包裹都无看。

“刚山脚下有只小卖店,我就顺手购买了千篇一律起,我是想着大家一起吃的,可是和尚不吃啊,他说非是于学里,而且产生女生,所以自己不怕从未有过拿出去。”良子一边拆起来啤酒外面的塑料包装,一边埋怨和还太谨慎。“不可知喝美女手拉手吆喝,那就与大老爷们喝呗,你一念之间就差点喝不顶了!”良子递给我同瓶子。

“砰”,我及良子同时延长拉环,两瓶青岛啤酒撞击在共,良子咕咚咕咚一不胜人口下肚,用左手抹了转注到下巴的啤酒沫,笑眯眯地看在本人:“那女孩,怎么样?”

透过版本控制系统,开发者可以当一个门类的不比分支上干活,当型之相继组成部分支付完备时,将它坐一起形成最终之本子,这个历程让称之为合并。事实上,这种做法还集体和软件企业受到相当广泛:每个人承担项目之平等有些,最终具备有为做到一同形成最终产品。

文/四页 图侵删

今,为者事例再创一个工,完事后好去了它。在创造时取消那个创建git源的挑三拣四项。这次我们不思量让Xcode为咱准备一个起源。把这工程命名也NoGitExample,保存及桌面,然后你可以与自身连下去输入的一声令下一样。

流动: 文章转载自Cocoachina

点击下一样步,也便是终极一个手续,在这里先选择一个如果保持工程的目,然后于窗口底部选上Create
git repository on (My Mac ):

当即意味着那个文件已深受改动,相比上同一浅提交更改,文件有所变动。一般的话,你每次转文件,都见面并发是M字母,提醒您产生免提交的改。

打Xcode5开始引入了应用git的组成部分初特点。它用git的各项机能整合及一个菜系中,并提供子菜单来进展软件统一的决定。在搭下的翻阅着公见面发觉,使用git来展开版本控制相当之概括快捷。

于窗口的中档区域,有星星点点个预览窗口,左边那个是文件时版本,右边是文本及等同浅提交更改的本。因为我们眼前只是创建时交由了千篇一律糟反,因此右边显示的凡文件之开端状态。
左手窗口蓝色区域标出的哪怕是再度改之始末,这样的意味让我们得以了解地观看所有的改动。如果您细心看,会意识以点滴独窗口中还有一个拉动数字的稍标签,这个数字一一表示了各项转移。在数字边,默认情况下发生一个不怎么对勾,表示以更改会受提交,如果你点击右侧边的略微箭头,会弹来一个摘菜单,你得选择无付者改变或忽略她。

设您拣了Don’t
Commit这个选项,小对滋生就见面受一个停歇标志取代,这项更改就不见面叫保留及源中。

为更开Finder应用,输入
killall Finder

以应用程序开发进程遭到,很关键之一样部分工作就是是怎样进展源码的版本控制。当代码出现问题常常,我们就是用拿代码恢复至原来正常的版本。如果是差不多个人共同开发一个项目,那么代码的决定就见面非常复杂。幸运的是,开发者不待自己主宰这些,因为来专门的软件来承担,叫做版本控制系统。
版本控制系统,或者说修改决定体系,实际上是一律种植检测源文件之改并以那个保存留作以后参考使用的建制(软件)。此外,它还能够记录其他产生因此信息,比如是孰开发者修改了代码,何时修改的,修改了啦部分,以及其它历史信息。版本控制系统可以较不同版本代码的例外,有必不可少经常能够东山再起整个项目到先的本子,追踪有害代码用减少产品的谬误。

随即会初始化一个缺损的源于,如果你当Finder里面查看或输入ls命令,你晤面看.git子目录就为创造,很好,接下输入:
git add .

今日此项目之沉重已经终结,你可在桌面上删除其。
如今若懂得什么样呢汝有的类别填补加git源了,即使你在创立时未尝添加,你也可以当后别时候吧它们手动添加源。
付出更改(Committing
Changes)
交付更改指的是储存一个含有变更的新本子。一般的话,当我们召开了有些发生含义的工作,并且项目处于某一个安宁状态时,就足以提交一坏变动。然而具体什么时授更改并无硬性的规定。我的建议是:从上次交更改后,如果你害怕花费大量时刻与活力开的新工作为误删很不便恢复,你就得付出更改了。
默认情况下,Xcode在品种创造的初会付给一糟糕反,这是为保存项目上马状态。这项工作会晤以后台就,不见面打扰您或要求您进行确认。如果您当品种创造时从没添加git源,但是之后您手动添加了,你得经过我们先应用过之命来开展付出:git
commit -m ‘Initial commit’
事实上,你如果错过Source
Control>History…菜单,你就是见面视初次提交更改的记录,以后每次交更改,都见面以这里有记录。

若是你选择了Discard
Change这个选项,会弹来一个认可窗口,提示您所举行的更动会叫还原,并且无法取消这个操作。

通下让咱们大幅度改动一下咱们的工,在ViewController.m文件中,添加以下属性声明:
@interface ViewController ()

脚看看如何提交更改,其实非常简单,只待开拓Source
Control>Commit菜单,下面窗口就会冒出:

连着下会并发一个本地git源所执行之改动列表,如下图所示:

由高达图备受可以看出,我们编辑的信及变更的公文数量会为出示出来。Xcode执行起来提交,所有文件都见面于交付一下,而这次只有我们修改的酷文件给付。
另外,关闭历史窗口,看一下Project
Navigator,你会发觉ViewController.m旁边的M符号已经熄灭了。

创办一个Git源(Creating a Git repository)
每次在Xcode中开创新工的时节,都见面唤起开发者是否拿项目作为一个地方的git源。在创造工程的最后一步Xcode会有一个复选框,如果选了她,git源就见面给补充加到工程目录中。通常这选项会被忽视,或是被认为是Xcode的另外一个没用的职能,尤其是没有用了git的开发者,或是编程新手。

对于以前的OS X版本,
efaults write com.apple.Finder AppleShowAllFiles TRUE

扣押一下Project
navigator面板,你见面发觉在ViewController.m文件旁边,添加了一个M字母,像下这样:

连着下去,像下这样改viewDidLoad方法:

立马是以当我们用命令行工具创建git源时,Xcode并未受通知,下面点击Xcode>Quit
Xcode,然后又起动它,在NoGitExample项目被,如果你还打开Source
Control菜单,你见面发觉具有的选已经给设能了,就像相同开始勾选上创立git源一样。

当时就是遵循项目于地方git源保存的职务。实际上,如果您挑选上了相应的选取项,这个目录就会见于创造。相应地,在公创造新用时,.git子目录也会联合给创造。

Git是一个科普的版本控制系统,它极开始是由于Liunx之父Linus
Torvalds开发的,Git使用虚拟目录,又曰repositories,来治本全事物。Git可以透过命令行调用,也闹特意为她设计之桌面应用软件。如果Git对而来说非常生疏,我提议你以网上查看有它的系信息。关于Git更老层次之始末都未在本文的座谈范围里边。

import “TestClass.h”

产一致步,打开ViewController.m文件,像下一样声明一个私房属性:
@interface ViewController ()

@property (nonatomic) int sum;

@property (nonatomic, strong) TestClass *testClass;

@end

圈一下门类导航栏,这次来四只公文有待提交。让咱开拓Source Control >
Commit菜单,将它交给。

需付出的总共来5独公文。除了之前修改的季单之外,还有一个品类安排文件。Xcode会在新类被补充加至路被然后自动修改是文件。如果您而打开TestClass.h或TestClass.m文件,左边的窗口没有其他显示,如下图所展示。

即是坐在是文件于事先没让交给的笔录,因此没有一个好比的本子,在右边只显示了File
was added。
于消息区写上这么一个讲述:TestClass was added to project..
之后点击Commit 5 files按钮即可。
这样第二糟糕手动提交就成了。你可以交Source Control > History
菜单查看提交的笔录。

本子里的比较(Comparing
Versions)
当您付出了一样工程的例外版本之后,在他们中比较,追踪修改信息就是会很好。当新增长的代码不克运作时,这时与中本进行比就异常主要了,你可望新本子对照上单安乐版有矣哪改观。

如比和一个文本之鲜只版本,你得下View>Version Editor>Show
version editor,或是点击工具栏上之Version Editor按钮:

点击后,编辑器会分为两棚。最初,两圈会显示平之始末,点击编辑器下面的很小时钟图标,可以选取之前早已交付的本进行比。

点击后,两独本子的别会以编辑器中显出来。通常,左边显示的凡眼前本的文书,右边显示的凡之前的本。蓝色高亮的区域显示了吃重复改的代码,因此于代码的生成非常容易。继续选择外此前的本,并着眼两栏的分别。

而或许会见注意到,在少单编辑器中间,还有以交付窗口看到的略标签。点击向下之按钮可以跳出让您忽视更改的选项。如果你点击了忽略更改,Xcode会提示而是不是允许。如果你允许忽略,这些吃忽略的代码用见面永远消失,无法再次寻觅回来。所以要留心不要无意中忽略任何代码。
除了上面说及之主意,还有一样栽你回来之前版本的章程。如果您仔细观察两单编辑器下面的工具栏,在中间有个带箭头的钟图标:

点击它今后,两个面板之间的纵列内容就是发生了变更,变成了同名目繁多表示之前更改的时日穿。注意并无是具有的都意味实际交付。代表先前版的圆角矩形的数在提交的次数。在此例子中,只来个别单如此的图片,代表了一定量糟提交。
每当当时等同排列的底下,有点儿单箭头。左边的不得了属于左边的面板,右边的箭头属于右边的面板。将箭头移动至任意之前的版本,你见面盼于对应面板中之转移。如果你想比较时版及事先任意版本的区分,让一个箭头指于local行,然后倒第二只箭头。时间戳从脚至顶部代表了打新及原的代码。在base行,你晤面见到上同样赖提交的情。继续进步移动,你见面看出最初的交由,如下图所示:

今日若懂得哪比较版本里的别了。再持续深入之前,把前面学习的练习一下嬉戏吧。
到底是何人的错?(Who’s Got the
Blame)
而外比较文件之版外,Xcode还可于你追踪文件之提交者,以及是哪个改变了啦有代码。在一个差不多总人口之集体中,这生有效。要使用这个力量,点击View
> Version Editor > Show Blame
View菜单。或是讲鼠标在工具栏的Version editor
按钮上,选择Blame选项。一个及方类似之窗口将见面出现:

恰巧而你瞧底,当前文件依据不同的交给给水平线分成几段,每个代码段的撰稿人,以及提交信息及另信息展示在窗口右边的一个特面板中。
倘若你还并未做了,那自己下手打开这个blame视图,注意一下Xcode展现代码段作者的道。在这个视图中,可以好地找到有平替码在何时被谁提交和另你想使的消息。将鼠标在blame面板上,将会晤显得修改的局部其他消息。当指针停止于交付段达到时不时,一个带来图片的微按钮就会见起于它们的右。点击选中该段代码,就会弹来一个附带提交信息窗口。在此窗口被,你还好过反至于窗口(indication
#1),以及特定提交的改动文件(indication #2)。

除外比较视图和blame试图,其实还有一个日记视图(Log
view)。你可以通过View > Version Editor > Show Log
View来打开她。或者只要您以此地虽不在详细说她了。你可以团结去看,毕竟这用起来为不曾那复杂。
分支(Branches)试想一下,你现在底工程起一个将发布之版,或是已经发布的版本,你突然想补充加有初的特征,如何预防这些新增长的代码让整个项目陷入瘫痪呢?答案非常粗略:你待用分支。
怎么简单的懂得分支为?你可管您的种想象变为一棵树,稳定版本就是造就之骨干。任何补偿加新效能的本都必须是干的均等组成部分。分支,就如是塑造的枝条,它打树干生长出来,向差之可行性生长。在git中,你得透过创设分支来也公的代码设置一个新的路来实现新特点,而非用担心在开发被损坏基本。

实际,在git中默认都见面产生一个分段,叫做master。Xcode自动执行之首先不善提交中便发在这个分中。通常,单独的开发者只以master这个分出,这实在不是一个好习惯。无论你是单打独斗还是组团合作,我当以对品种作出重大改变或长重大成效时,使用分支是杀重大之,它见面吗你避免多劳动。当然,在集体项目被,为而协调担负部分的代码来一个支几乎是须的。
关于分支,你必须牢记以下简单沾:1. 交付到App
Store或客户之最终产品必须是路蒙之master分支项目。2.
其他在第二分出着落实之代码或者功能最终还必须统一到master分支,这样正式发布之应用程序才是共同体的。(以后又谈这或多或少)

当您从头一个初分时,你其实是为当前工作状态作为起点,即使你有另外不提交的更改。从夫时打,所有的改变都见面只有体现于分层中。

今日叫咱回到Xcode,要开创一个子,点击Source Control >
GitDemo-master > New Brance…这个菜单,然后会弹有如下菜单:

也这分起一个名字,我便管它们起名叫也AnotherBranch好了。现在而怎么被它于名叫其实都不在乎。点击OK按钮,等一下初的分支就会见为创造,而目前底代码也会见复制到新支行中去。

打开Source
Control菜单,你就是可以轻松地搜索来活动分是哪一个:它便当品种名字的边上。

兹,让咱们召开同样不善新的分段的交。在马上前面,让咱添加一些新的代码。打开类公事,在个人属性区丰富以下办法声明:
@interface ViewController ()

-(void)sayHello;

@end

接下来实现它:
-(void)sayHello{
NSLog(“Hello”);
}

最后,在viewDidLoad中调用它:

  • (void)didReceiveMemoryWarning
    {

    [self sayHello];
    }

当今,点击Source Control >
Commit菜单,版本比较窗口将会晤油然而生,你见面盼仅生一个受修改了之文书–ViewController.m文件,新加上的片会让高亮显示。
输入下一个交付信息:First commit to a new branch,然后点击commit 1
file按钮。现在AnotherBrance分支的改观就是会见给交给了。

打开Version Editor(menu View > Version Editor > Show Version
Editor),找到下手编辑面板下面的家伙栏,你晤面视于入选的支行是AnotherBranch,点击它,你见面盼此分和master分支同时起,从master分支中精选随机版本,Xcode都见面高亮显示两者之间的分别。通过如此,你可以便宜地跟踪所有分支间代码的更改。

最后,切换到其它一个拨出,或是master分支,你得点击Source Control >
GitDemo –AnotherBranch > Switch to Branch…菜单。

打夫窗口你可以择想如果跳转的分,在此处吃咱们越回master分支:

挑她并点击Switch按钮,master分支就会化自走分。你见面发觉在AnotherBranch中做出的改变并没有起于master分支。很好,我们以治本工程推动的以,却没改稳定版本。

统一分支(Merging
Branches)
当分层中展开付出是一律栽好习惯,然而,如果代码改变而反映于发行版中,那么分支就务须叫合并到master分支中。这等同节约咱们用会见告知你怎么样合并它们。在Xcode里,将简单个支行合并成一个非常简单。
深受咱们开一个不怎么试验来瞧合并是怎工作的。首先,确保master分支是现在底运动分。如果非是,赶紧转移过来:Source
Control > GitDemo – AnotherBranch > Switch To Branch…
menu,并自出示窗口选择master分支。

下同样步,创建一个新的分段:Source Control > GitDemo – master > New
Branch… menu,命名也LastBranch

预先为Xcode飞一会,然后,到ViewController.m文件中,再创一个私有方法,首先声明其:
@interface ViewController ()

-(void)sayByeBye;

@end

下一场实现它:
-(void)sayByeBye{
NSLog(“Bye – Bye”);
}

最终,在ViewDidLoad方法中调用它:

  • (void)viewDidLoad
    {

    [self sayByeBye];
    }

以联前,先付给这些改动。使用Source Control >
Commit菜单来实行提交。
算是要赶来就同步,关于把个别只不等之支行合并成为一个,你有三三两两栽选择“1.
打旁合并:与汝挑的分相关的旁改动都见面叫统一及如今倒分中。2.
合并到分:当前运动分的其它变更都见面吃合并到公挑的支行中。

顿时半栽方式若都可以在Source Control > GitDemo
菜单中找到。注意当您的运动分是master分支时,第二独选项是不可选择的。

比方一个开发者在Anotherbranch分支实现一个sayHello方法,另外一个开发者在LastBranch中开创实现了sayByeBye方法,现在你需要用片只人口的劳作统一到下一个安静版本中,想同一相思你得怎么开?很简单,按以下办法将反从区区独分支中集合进来:

先是,确保当前活蹦乱跳分支是master分支。

然后,打开Source Control > GitDemo – master > Merge From
Branch…菜单,选择AnotherBranch然后点击Merge按钮。

连接下去会产出一个比较窗口,在中间你晤面看合并之后代码的转,看无异双眼,感觉差不多了就算更点击Merge按钮。

Xcode会询问你是不是保存项目之快照,点击Enable按钮。让Xcode飞一会,然后就吓啊。AnotherBranch里面长的情节已经联合及master分支中。

动相同的道来统一LastBranch。你晤面发现而你不授更改,Xcode不会见为您再统一。于是,我们只好先交由一下。在比较窗口你会意识一个革命的区域显示合并后的更动,而非是之前的蓝色。这象征分支中的代码用会交替原先活动分中之代码。

君得轻松地避免这种情景之发。在编辑面板的下来几只小按钮,你可试他们还发出什么打算,我选了第一个,它的意思是master分支的代码会于放在上面,另一个分的代码会与于它们背后。

拍卖接下有需要变更的代码,不要产生遗漏。完事后哪怕点击Merge按钮。
恭贺您!你已打响的学会从多独支行合并了代码,类似之状你为应该会了。

大意更改(Discarding
Changes)
舍不思量使的代码更改功能特别有因此,只待轻轻一点,自从上同软提交之后的更动都见面让放弃。当你当付出进程被发觉来了大乱子,你想由达一个安静状态还开时,这个效果就是派上用场啦。注意放弃更改这个意义尚未迷途知返路,点结束以后你尽管没章程还撤销这个操作,所以,要小心使用什么!

事先,当我们于讨论版本比较常,我们学会了何等忽略某平组成部分转的主意,下面,我们而效仿一下哪转疏忽自从上同一次提交以后的装有改变。

为测试是力量,首先写一些代码打开ViewController.h
,添加一个公共措施声明:
@interface ViewController : UIViewController

-(void)aVeryCoolMethod;

@end

今日,让咱们在ViewController.m中补充加一个斯点子的兑现,简单点就推行:
-(void)aVeryCoolMethod{
NSLog(“I’m feeling that you’ll discard me… Really?”);
}

假若你注意到Project
Navigator,我们正好改的文书旁边来了一个M标识,很好,我们怀念看看如果忽视这些改动,这些文件是否会返回更改之前的状态。

此间有一个重中之重之细节:你得选忽略所有文件之改观,也可择忽略单个文件的更改,这全然在你。如果您想忽视一个文本的变更,首先选定这个文件。在是事例里,如果你仅仅选ViewController.m文件然后打开Source
Control菜单,你见面在ViewController.m中发觉Didcard
Changes这个选项。类似之,如果您唯有挑ViewController.h也是一个理。然而,如果您想忽视这半单文本的更改(这里而有少独以上之变更),就在Project
Navigator中当选它们,然后再度打开Source
Control菜单。相应的职位就是会见显得Discard Changes in 2 Files,像下这样:

然,这次咱们无会见采取这按钮,我们要为此Discard All
Changes。点击它之后,一个确定提示框就见面出现,这是这片Xcode防止你误删代码的绝无仅有方式。

点击Discard All Changes,
那您才写的要命公共措施就是永远属于过去了。看到了吧,只待几步就是可以为你自当前工作状态回升至之前的付出,所以自己重新同差提醒您如以使Source
Control 中小心点,别误点了之按钮。

总结经就首教程,我努力详述了于Xcode中展开版本控制的方式。其实以默默,真正从作用的是git—-地球上运用最多的版本控制系统。你或注意到自于学科被连不曾过多的关联GitHub或者其它Xcode的局部作用—-其实我是有意这样的。我怀念将注意力集中在利用Xcode进行git管理的情上。只有当您知了什么开展版本控制之后,才能够确实的行使GitHub。我思念再反复一下,如果你是一个团队以做事,使用本控制工具是要的!如果你是单打独斗,使用本控制工具也是杀有必要的,它可以吗您花大量年华与生机所举行的行事提供保障,并且在你补充加新效能时不过概括地展开扩展。这个家伙就像小人说之那样,一旦用了,就重新为反过来不失矣!最后,我要此科目会指向君产生因此。

这么,当前目录所有的情节就让填补加到源里面去了,最后,输入以下命令:
git commit -m ‘Initial commit’

显而易见使用Xcode创建一个git源毫不费力,然而,如果您以档次创造时不创建git源,之后同时想加上这功能怎么处置吧?好吧,其实若可当其余时刻呢汝的项目创建源,但是非是用Xcode。尽管这种情景特别少出,我要么会告知您该怎么开。

@end

  • (void)didReceiveMemoryWarning
    {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.

    int a = 5;
    int b = 10;

    self.sum = a + b;

    NSLog(“The result is: %d”, self.sum);
    }

扭转忘了以上边命令中安装Mac的用户称,接下,输入:
git init

自我提议您就我一块儿同步一步实现此实例项目,在对应的地方手动添加代码,不用操心,代码量不是多。跟着教程的步调,我们用推行多种再次的版本控制相关的操作,并且我们必须实时看到结果。如果自己只是提供了一个享所有操作的的以,那么您无法体会到这些改动。

正文翻译由Understanding Git Source Control in
Xcode
(译者myShire)欢迎你参加我们的翻小组。

要你看不到.git目录,你需要被藏的公文可见。具体做法就是打开一个Terminal窗口,输入以下命令:
对于OS X Mavericks 10.9:
defaults write com.apple.finder AppleShowAllFiles TRUE

使您精心察看地方是提交窗口,你会看到而所召开的具备修改都见面让Xcode看做改变,即使是一个空行。实际上空行相当给回车,在屏幕上是不可见的,因此作为反呢是本来的。

@property (nonatomic) int sum;

开出意义之交由信息挺有因此,尤其是当您往往提交的时段。因此,把其作为一个必要的步子。

打开Xcode,创建一个初的工。选择iOS区的“Application”,在使模板页选择“Single
View Application”。

于少数单窗口下面是一个空荡荡的区域,中间显示了付出更改的信息。这个地方得添加一些有关此次变动的简便描述,点击它,加入如下内容:

今git源就打好了,但是倘若你回到Xcode,打开Source
Control菜单,你见面发觉整整依然是为剥夺。

默认情况下,这个选项是受选择上之,如果您不思量利用git,你可收回其,但是自未建议如此做。本学科被,你用以她勾选上,然后点击创建按钮。

择生一样步,在项目名为遭输入GitDemo,确保下的Devices菜单选择iPhone,无需iPad或者universal
app。

每当准例子中,你不用忽略任何修改,而是允许提交所有变更,因此所有的反标签旁边必须还是有点对勾。

当今,让我们准备下同样不行提交。这次,我们受工程长一些新的文件。添加文件最好之道就是是创造个新类,因此,按下Command+N组合键,添加一个Objective-C类。让这看似继承NSObject类,取名叫TestClass,然后上加到工程中。
姣好以后,注意一下Project
Navigator,你晤面发现个别单新的好像公事旁边来个A的假名标识,这代表这些文件就被上加至路被,当然,他们还没吃提交。
开辟ViewController.h文件,导入我们的新类:

好了,废话不多说了,让我们密切瞧用Xcode进行版本控制的要义吧。

创办了路后,打开Finder,找到项目存储的目,在目中,有一个.git的子目录,时Xcode为存储git源相关数据自动创建的。

整准备妥当后,打开Terminal窗口(如果你前面打开了一个,那即便优先关它再次又开,从而使我们安之命令行工具生效)。下面切换到新路的目录:
cd /Users/YOUR-USERNAME/Desktop/NoGitExample

若果你肯的言语,你可一直跨越到仍学科的下一部分。我建议您就念下来,因为属下这些信还是特别有因此的。

俺们连下去的职责就是学怎么当Xcode中使用git,以及Xcode是怎么样做Git的个功能。如果您道对这些酷陌生,我建议乃先上网查找一下系的情。在交接下去的教程被,我会假定你曾经了解了版本控制系统与git是呀,并以注意力集中在Xcode如何管理它达到。
GIT Demo概述(GIT Demo Overview)
与其余科目被的demo app不同,这次我们不会见错过实现一个采用来演示某同桩iOS
SDK特性,最终我们也非会见起一个演示产品。实际上,我们见面新建一个demo工程,写几执代码,然后运这工程来演示Xcode提供的版本管理效能。换句话说,我们会集中注意里吃IDE上,而非是iOS本身。

今这窗口的主导信息看的多了,是时做我们先是浅的交付了。在这窗口的右边下下面,有一个按钮上面写在:Commit
1 file。

于进展现身说法前,你用首先通过Xcode下载Command Line
Tools,因为我们而以Terminal下操作,并且用有附加的工具。如果你还不曾下载,那即便失去Xcode>Preferences…菜单,选择Download选项卡,展开Components区,点击Commond
Line Tools右边下充斥按钮。下载完成后,一个针对勾符号会顶替下充斥按钮。

这个按钮会显示得提交的公文总数。点击它今后你的第一软提交就成功了!打开Source
control > History,你晤面发现其见面受出示在列表中。

假若您点击了OK按钮,所选择区域的转移就是会熄灭,就比如她们尚未起了千篇一律。

吃咱一步步看它告诉我们了什么。在左边(标1的区域),列有了独具给重复改的公文,在此例子中,只有ViewController.m这个文件被改变,因此列表中单发她于出示。如果你细心考察,你会发觉文件左边有一个抉择框,默认情况下是吃入选的,如果您取消其,这个文件的更改就无见面让交给。

于个体开发者来说,版本控制系统并无是必要的,但是我们仍然强烈推荐开发者使用她,因为她好要代码方便的当发出误的本和足干活之版中转移。事实上,很多开发者从来不以类似之家伙,他们会于档次填补加新的功力时手动保存原先的项目。这实质上是一个怪糟糕的习惯,因为版本控制软件可更好还迅速地成功这项任务。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图