- iOS开发实战:从入门到上架App Store(第2版) (移动开发丛书)
- 张益珲
- 1515字
- 2020-11-28 14:56:42
1.4 使用Git进行项目版本管理
1.4.1 Git与Github简介
俗话说“工欲善其事,必先利其器”。在项目开发中使用一个版本控制工具是必不可少的,Git是一个开源的分布式版本控制系统,它可以协同多人更加高效地协作开发,同时可以帮助开发者根据不同的目的进行项目的分支管理。GitHub是一个代码托管系统,世界各地的开源项目都可以免费在上面托管。将一个Git管理的仓库托管在GitHub上可以实现多个开发者参与、多地点同时协作的开发方式,这将大大提高项目开发的效率。
1.4.2 注册GitHub会员
GitHub免费为开源项目提供代码托管平台,若要使用GitHub提供的服务,首先需要注册成为GitHub会员。在浏览器中打开https://github.com,因为GitHub服务器部署在国外,打开速度或许有些缓慢。打开后的网页如图1-23所示。
图1-23 GitHub主页
单击Sign up for GitHub按钮进入注册界面,如图1-24所示。在该界面填写一些基本信息,这时github会对用户名是否重复、邮箱是否正确等进行检查,无误后单击Creat an account按钮。
图1-24 填写注册信息
如果注册成功,GitHub就会让我们选择服务类型,个人开发者可以选择free,如图1-25所示。单击Finish sign up,一个属于你自己的GitHub账号就创建成功了。
图1-25 选择服务类型
1.4.3 使用Xcode创建Git仓库
Xcode是系统一体化性很强的iOS开发工具,在安装Xcode时默认安装了Git工具,我们创建工程的时候可以选择创建本地Git仓库,如图1-26所示。
图1-26 创建Git仓库
之后在Xcode工具导航中的Source Control标签里可以看到当前项目的仓库,如图1-27所示。在开发中,这里面代码版本管理的功能将大有用处。
图1-27 Xcode的代码管理功能
New Branch可以创建一个新的分支,创建的分支是原工程代码的一个副本,但是可以在不影响其他分支的情况下独立开发新的扩展。举个例子,项目的初始版本是1.0,现在需要开发2.0版本,开发者完全可以在1.0版本的基础上拉出一个2.0分支,在2.0分支上做的开发工作都不会影响1.0版本。
Switch to Branch提供切换分支功能,开发者可以在多个分支之间自行切换,灵活开发。
Merge from Branch可以进行分支的合并,在开发中这也是一个很强大的功能。例如,开发者需要在当前工程中添加一个风险较大的模块,这时可以拉出一个新的分支,在新的分支上进行开发,开发完成并且测试没有问题之后,可以在原分支上使用Merge from Branch进行代码合并。
Check Out可以从远端检测出默认分支,这个功能使用时要特别注意,如果本地分支中文件有改动,就会被覆盖掉。
Commit可以将改动的代码提交到本地,提交的时候会有提交用户记录和备注操作。
Push功能将本地的改动推送到远端服务器,如推送到GitHub平台进行托管。
Pull功能与Push对应是从远端服务器拉取有更改的代码。
1.4.4 用Xcode建立本地Git仓库与GitHub代码托管平台的关联
前面已经创建了GitHub代码托管平台账号和本地Git仓库。Git仓库用于代码版本的本地控制,GitHub平台帮助多地、多人合作开发,两者结合才能最高效地进行项目的开发。首先,需要在GitHub平台上创建一个远程repository(仓库),用申请好的账号登录GitHub进入主页,单击New repository,如图1-28所示。注意,如果是新创建的GitHub账号,就需要先进行邮箱验证。
图1-28 新建代码仓库
这样一个远程仓库就创建好了,只是目前空空如也,如图1-29所示。GitHub为这个仓库分配了一个远程的地址,通过这个地址,开发者可以将其与本地的仓库关联,进行多人远程协作。
图1-29 仓库地址
再回到Xcode,在Source Control中选择项目的本地仓库,选择configure YHTestProgect,如图1-30所示。
1-30 进行代码仓库设置
在弹出来的设置菜单中的Remotes标签里单击加号,选择Add Remote,如图1-31所示。
图1-31 关联一个远程仓库
如图1-32所示,将GitHub远程仓库的地址填写上去,单击Add Remote。
图1-32 关联远程从库地址
然后使用Push功能将本地的代码Push到GitHub上。第一次使用时,Push需要输入用户名和密码,使用GitHub账号的用户名和密码即可。需要注意,这里的用户名不是邮箱,是GitHub会员用户名,如图1-33所示。如果Push成功,本地的Git仓库就和托管在GitHub上的仓库进行了关联,我们可以随时随地地更新代码到GitHub上,也可以将GitHub上更新的代码拉到本地来。
图1-33 进行代码管理操作