【iOS7的一些总结】4、Xcode中的代码版本控制

有时候在开发过程中我们经常会遇到这样的问题,即本来编译运行都OK的程序,不知道修改了那个配置,突然变得无法编译,或者运行时出现了各种各样的bug。此时的办法只能是硬着头皮去一个个地修改,或者干脆全部推倒重来。这种方式面临着很严重的问题,即使项目很小,也会耗费掉我们的很大精力,如果项目规模庞大,那我们就彻底不知所措了。所以,在代码中实行版本控制还是非常重要的。我们常用到的版本控制工具有SVN和GIT客户端等,这两者在开发iOS应用时依然可以发挥强大的作用,然而如果只是一个我们自己开发的工程则显得有些过于复杂,其实iOS的IDE已经集成了一个简易的Git,可以很方便地供我们实现本地代码版本控制。

1、为代码创建代码版本控制

其实给工程创建版本控制非常简单,只需要在创建工程的时候在图示位置勾选就可以了。

菜单中选择“Source Control”可以看到,Xcode提供的版本控制工具其实已经比较强大了,支持分支的建立、合并等操作。不过对于我们来说第一步还是成功实现版本的修订记录这项最基本的功能,更多更强大的功能在未来会慢慢接触。

2、Xcode中向版本控制工具提交修改

工程建立完成后,选择“Source Control”->“History”可以查看版本修订的历史,由于现在我们刚刚新建好工程,“Project history”窗口中只有一个Initial Commit,表示我们第一次向服务器(其实就是本机)提交代码。

下面我们向工程中添加一些内容,比如一个按钮和标签并添加几个函数。

完成后我们发现,我们所修改的storyboard和ViewController.m文件后面出现了一个“M”符号,表示这两个文件被修改过(Modified)但是修改尚未提交。此时选择“Source Control”->“Commit”,将会出现提交窗口,在这个窗口里我们可以检查做了哪些修改,决定选择性地提交哪些修改。

PS:对于代码文件,Commit窗口显示得可谓一目了然,但是对于storyboard会以XML文件的方式显示修改,这就不那么直观了。

检查无误后,可以选择“Commit 2 Files”来提交修改,记得在下面的"Enter commit message here"写上对本次修改的说明。完成后在检查“History”,就可以看到我们所做的提交了。

3、代码的回退

左上角的第三个按钮可以打开版本编辑器,之后界面就会用两栏显示各个文件在不同版本中的修订。在代码出现问题的时候,可以按照这样的修订提示逐条地review,在出现问题需要回退的地方可以直接在修订处选择“Discard Change”来恢复到以前的版本。

总结:对于个人开发者来说,Xcode自带的版本控制工具基本上已经可以满足我们的需求,只是唯一感觉有点不足的地方是好像缺乏了将整个工程全部回退到某个记录点的功能,这个功能在git客户端中是很容易实现的。另外对于团队开发者来说还可能涉及到代码服务器管理、分支的创建和管理等操作,此为后话。

时间: 2024-12-22 17:30:48

【iOS7的一些总结】4、Xcode中的代码版本控制的相关文章

Xcode 中 Objective-C 代码的样式哪种更标准的对比分析

Xcode 中 Objective-C 代码的样式哪种更标准的对比分析 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. Xcode 中 Objective-C 代码的样式在不断升级过程中,示例代

【IOS-COCOS2D-X 游戏开发之七】整合COCOS2DX的ANDROID项目到XCODE项目中,XCODE编写&编译代码,ANDROID导入打包运行即可!

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/667.html 此篇针对较早的-x引擎讲解的,最新的可以参考: [Cocos2d-X(2.x) 游戏开发系列之二]cocos2dx最新2.0.1版本跨平台整合NDK+Xcode,Xcode编写&编译代码,Android导入打包运行即可!   之前有两节介绍了mac下配置Android NDK并搭建Cocos2dX以

iOS开发那些事-Git在Xcode中的配置与使用

很多Git命令都是在命令行下运行的,命令行下管理Git有很多优点不用多说.但最大的缺点是要求用户记住这些命令.因此Git图形界面还是很受一些用户欢迎的,其中Xcode作为集成开发环境工具,也提供了一定Git图形界面功能.但是要想在Xcode中使用Git管理工程代码还想需要进行一些配置,然后才能使用. 如果我们是使用Xcode 4创建的一个iOS工程,在终端的命令行中提交代码时候,可能会出现下面的部分信息: create mode 100644 HelloWorld/HelloWorld.xcod

iOS开发那些事-Git在Xcode中的配置与使用常见问题总结

书接上回提出的Git在Xcode中的配置与使用常见问题4个问题 问题1,如何在Xcode中创建代码库,并添加和提交代码到代码库? 问题2,如何在Xcode中提交推送给远程服务器代码库? 问题3,如何在Xcode中克隆远程服务器代码库到本地? 问题4,如何使用Xcode获取远程代码库数据,并解决冲突问题?   1.问题1 创建代码库有两种方式,一种是新建工程时候创建,另一种是把现有的工程拷贝到代码库下,再初始化代码库. 如果是新建工程时候创建,在保存文件时候可以选择是否创建,如果勾选"Create

Xcode中修改变量名、类名及字符串的替换操作

Xcode中修改变量名.类名及字符串的替换操作         在做iOS开发代码优化的工作时,优化代码结构之前,我们应该先整理好工程的外貌,将文件和类的命名进行规范,在Xcode中为我们提供了方便而强大的名称修改功能. 第一步:修改类名         将鼠标点击放在类的名称上,选择Xcode工具栏中的edit->refactor->rename: 之后,将类名更改为我们需要的模式点击preview,记得将下面的关联文件勾选: Xcode会为我们检测出需要更改的地方,浏览无误后点击save.

xcode-如何释放Xcode中的链接列表

问题描述 如何释放Xcode中的链接列表 有一个结构: struct list{ struct list *next; int temp;}; 用下面的方法释放: // free linked liststruct list *head_list = NULL;struct list *current_list = NULL;struct list *prev_list = NULL;current_list = head_list;while (current_file_info_arr !=

Xcode中的变量模板(variable template)的用法

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 你可能经常会写一些小的代码片段,里面自然少不了一些关键的变量.你会把这些代码片段放到网上,比如github里,作为示例. 但是有个问题,就是上述代码片段中的变量会根据不同系统,不同用户发生变化.在你这里有效的,可能在别人那就会无效. 举个不恰当的例子,比如其中有一个变量是你服务器的秘钥ID: NSString *keyID = @"12345678"

Xcode中Objc动态调用方法同时避免警告的几个办法

我们在Xcode中使用objc写代码的时候往往会碰到动态调用方法的时候. 如果是静态调用这很常见,不会有任何问题: [self performSelector:@selector(method)]; 但如果method是运行时变化的值,则编译器就会发出警告: 简单来说,这是因为编译器在开启ARC后不知道该方法的返回值是什么,该如何处理,是标记为ns_returns_retained还是ns_returns_autoreleased. 在网上搜了一下有几种办法可以解决,首先如果动态调用的方法不返回

[译] Xcode 中的用户断点

本文讲的是[译] Xcode 中的用户断点, 原文地址:User Breakpoints in Xcode 原文作者:Michael Ochs 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m- 译者:oOatuo 校对者:fengzhihao123, LeviDing Xcode 中的用户断点 大家应该都用过 Xcode 中的断点,但你们熟悉用户断点么?下面我将向你们介绍如何使用以及何时使用这种断点.如果你已经对用户断点有所了解了,可以查看下文章后面的清单,看