- iOS开发实战:从零基础到App Store上架
- 张益珲编著
- 1540字
- 2021-04-02 21:41:41
1.4 使用Git进行项目版本管理
1.4.1 Git与Github简介
俗话说“工欲善其事,必先利其器”。在项目开发中使用一个版本控制的工具是必不可少的,Git是一个开源的分布式版本控制系统。它可以协同多人更加高效地协作开发,同时,Git还可以帮助开发者根据不同的目的进行项目的分支管理。GitHub 是一个代码托管系统,世界各地的开源项目都可以免费在其上面托管。将一个Git管理的仓库托管在GitHub上,可以实现多个开发者参与,多地点同时协作的开发方式,这将大大提高项目开发的效率。
1.4.2 注册GitHub会员
GitHub免费为开源项目提供代码托管平台,若要使用GitHub提供的服务,首先需要注册成为GitHub会员。在浏览器中打开https://github.com地址。因为GitHub服务器部署在国外,打开或许会有一些缓慢。打开后的网页如图1-22所示。
图1-22 GitHub主页
单击“Sign up for GitHub”按钮进入注册界面,如图1-23所示,填写一些基本信息,这之间,github 会对我们的用户名是否重复,邮箱是否正确等进行检查,无误后单击“creat an account”按钮。
图1-23 填写注册信息
如果注册成功,GitHub 会让我们选择服务类型,作为个人开发者,可以选择free,如图1-24所示,单击Finish sign up,一个属于你自己的GitHub账号就已经创建成功了。
图1-24 选择服务类型
1.4.3 使用Xcode创建Git仓库
Xcode是一个系统一体化性很强的iOS开发工具,在安装Xcode时默认也安装了Git系统,在我们创建工程的时候可以选择创建本地Git仓库,如图1-25所示。
图1-25 创建Git仓库
之后在Xcode导航中的Source Control标签里可以看到当前项目的仓库,如图1-26所示,在开发中,这里面代码版本管理的功能将大有用处。
图1-26 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进入主页,如图1-27所示,单击New repository,需要注意的是,如果是新创建的GitHub账号,需要先进行邮箱验证。
图1-27 新建代码仓库
这样一个远程仓库就创建好了,只是目前空空如也,如图1-28所示,GitHub 为这个仓库分配了一个远程的地址,通过这个地址,开发者可以将其与本地的仓库关联,进行多人远程协作。
图1-28 仓库地址
再回到Xcode,在Source Control中选择项目的本地仓库,选择configure,如图1-29所示。
1-29 进行代码仓库设置
在弹出来的设置菜单中的Remotes标签里单击加号,选择Add Remote,如图1-30所示。
图1-30 关联一个远程仓库
如图1-31所示,将GitHub远程仓库的地址填写上去,单击Add Remote。
图1-31 关联远程从库地址
然后使用Push功能,将本地的代码Push到GitHub上,第一次使用时Push会需要我们输入用户名与密码,使用GitHub账号的用户名和密码即可,需要注意,这里的用户名不是邮箱,是GitHub会员用户名。如果Push成功,本地的Git仓库就和托管在GitHub上的仓库进行了关联,我们可以随时随地的更新代码到GitHub上,也可以将GitHub上更新的代码拉到本地来。
图1-32 进行代码管理操作