一、Xcode 支持的版本控制
1.Xcode5.x原生支持Git及SVN版本控制系统,相比于之前的Xcode4.x版本,Git及SVN已经非常好用。最近跟同事沟通,发现还有部分人不愿意使用Git/SVN。确实在之前的4.x版本中,Git/SVN有可能导致Xib错误,冲突解决不友好,这在5.x版本中有了极大的改改善,相比于Eclipse中的Git插件,Xcode原生提供的版本控制简单极易于使用。关于Git及SVN的比较在这里不再提及,本文主要介绍Git的使用,及在GitHub/Oschina中上传项目。
2.目前网上已经有多家git网站,下面给出我最常用的两个网站
- http://www.github.com(GitHub,公开项目免费,私有项目收费,最流行的版本控制网站)
- http://git.oschina.cn(开源中国,国内网站,访问速度快,公开及私有项目都免费)
网上现在也有一些博客描述了这两个网站的使用,但基本上都是通过SSH方式进行身份验证,而SSH需要进行一些配置才能使用。相对于SSH, HTTPS验证方式就要简单的多了,不需要任何的配置,只需要输入用户名及密码即可。
二、如何上传新的项目
Xcode在提交,更新等操作都极易使用,唯独在提交项目到服务器这一功能有点捉襟见肘。将项目提交到服务器大体有以下几种方法
- 使用命令行上传(本文不介绍,需要记住命令)
- 使用第三方的版本控制软件(简单,但需要下载第三方软件)
- 使用Xcode上传
在这里我们只简单介绍一下不用命令行及第三方软件,只使用Xcode进行版本的上传。上传的时候分为两种情况:
- 本地项目尚未创建
- 本地项目已经建立
1.本地项目尚未创建的时候比较简单,第一步先Check out,步骤如下:
在弹出的配置窗口中,填入git服务器的url
直接下一步,将文件保存到本地
这里保存到本地文稿中的Example文件下,下一步直接在这个文件下创建新项目
简单配置一下项目名称等信息
直接下一步,在这一步比较重要,我们要将新创建的项目保存到刚才Check Out的文件夹中,因为这个文件夹的Git已经在Check Out时自动配置好了
保存后,新创建的项目会自动打开,在每一个文件上会多出一个“?”,稍等就会自动识别成如下图
其中"A"代表这个文件夹是新添加的,"M"代表这个文件有修改,下步提交到服务器上
这里简单介绍一下,菜单的作用
- Commit 将修改提交到本地的Git仓库中
- Push 将本地仓库提交到服务器上
- Pull 从服务器获取新的代码
- Discard All Changes 取消所有的更改,这一功能慎用,选择这一项是本地的代码会全部取消更改
下一步,将代码Push到服务器上
选择分支,默认即可
Push的时候需要验证,如果没有输入过账号,这里会弹出让输入账号的窗口
至此我们的项目就提交完成了
2.如果本地项目已经建立,该怎么办呢?步骤稍有不同,在从服务器Check Out到要地文件夹下后,将本地已经存在的项目,直接拷贝到Check Out的文件夹中即可,其它的与上面一样。
3.这里说一下使用的一些小技巧
- 在进行开发的时候,每完成一次功能时要勤提交,提交时注意项目是可运行的, 至少不能有编译错误
- Xcode的特殊机制,在添加、删除文件时都会更改项目的配置文件,所以两个人同时进行了文件添加删除操作就有可能引起项目的冲突,冲突可以通过命令行解决
- 如果想撤销文件的更改,右键该文件Discard changes即可
- Xcode提供了版本比较,有的时候我们需要比较不同版本的代码以确定进行哪里更改,在Xcode的右上角Editor上提供了这个功能
- 同一个文件冲突时,提交时Xcode会直接提供解决冲突的办法,有一个小的switch用于选择哪一版本代码
三、GitHub及git.OSchina的使用
这两个网站都提供了Git相应功能,他们的使用与标准Git没有太大的区别,这里只讲一下这两个如何进行Https认证,
简单来说就是应该使用哪一个用户名,我们在提交或者更新项目时,如果直接填入上面两个网站的登陆账号(邮箱)就会出现问题,给出账号的查找办法,如下图
GithHub验证时应该填写的用户名
OSChina的用户名查找
注意两个进行验证时都不能直接使用邮箱