Git 傻瓜教程
对于不了解 Git 的同学,可以先访问Git 学习网站,对 Git 进行初步的了解和学习。
Git 工具的选择
既然是傻瓜教程,就不教大家通过命令行使用 Git 了。今天将教大家如何借助 SourceTree 或 Tower 这类工具玩转 Git(当然,这类工具不止这两个,其他工具在此不做推荐)。
一、建立仓库
使用 Git 进行代码版本管理,首先需要有一个仓库。仓库的选择通常根据公司要求而定,目前也有很多免费的代码托管网站。我目前使用的有两个,GitLab(公司内部使用,只能内网访问),以及在家使用的 Git@OSC。此外,国内的 CODING 也非常不错(CODING 的 iOS 项目已开源,编写得很不错,有兴趣的同学可以去他们的网站查找)。选择好你要使用的代码托管网站并完成注册,下面以 Git@OSC 为例进行示范。
1. 新建仓库
按照 Git@OSC 的操作流程,创建一个新的仓库。
2. 将建立的仓库克隆到本地
打开已经下载并注册好的 SourceTree,点击“+ 新仓库”,选择“从 URL 克隆”。目标路径可以根据自己的需求进行设置,点击“克隆”后,本地仓库中就会多出一个名为 GitDemo 的仓库。
二、提交代码
1. 准备项目
我们已经将托管代码网站上的仓库克隆到本地,但此时仓库中没有项目。可以新建一个项目(或者使用已有的项目)。
2. 复制项目文件
打开新建项目的文件夹,全选并复制里面的文件。注意,不要直接拷贝整个项目文件夹,而是点开文件夹,全选里面的内容进行拷贝。
3. 粘贴文件到仓库
打开刚才新建的仓库文件夹,将拷贝的内容粘贴进去。这里的仓库是在新建仓库的第二步克隆到本地的,如果忘记了可以往上翻看。
4. 配置提交信息
使用 SourceTree 打开 GitDemo 仓库,此时我们刚才拷贝到仓库里面的内容会显示在“为暂存文件”区域。
Git 代码管理的第一步始终是将代码提交到本地,但有些文件无需提交,因此在将代码提交到本地仓库之前,需要通过 .gitignore 文件进行设置。具体方法是点击 SourceTree 中的“设置”,选择“高级”,然后点击“编辑”,将以下内容拷贝进去(这是经过检验的 .gitignore 配置):
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.Ripa
*.xcuserstate
contents.xcworkspacedata
project.xcworkspace
UserInterfaceState.xcuserstate
project.xcworkspace/
xcuserdata/
UserInterface.xcuserstate
# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# http://guides.cocoapods.org/usin ... y-in-source-control
#
.DS_Store
Pods
Pods/*
粘贴完成后直接点击“关闭”。
5. 提交代码到本地仓库
点击“为暂存文件”,写下提交信息,然后点击“提交”。至此,我们已经将代码提交到了本地仓库。
6. 推送代码到远程仓库
目前我们只有一个 master 主分支,点击“推送”,就可以将代码成功推送到 OSChina 的远程仓库。推送成功后,以后每次推送代码都要养成先拉取的习惯。
三、Git 分支
前面介绍的只是 SourceTree 的基本用法,下面简单介绍一下分支的使用。关于 Git 分支的深入学习,建议大家参考 Git Flow。
1. 创建分支
以 develop 分支为例(这是常用分支,一般开发都在这个分支上进行,由专人维护 master 分支),点击 SourceTree 中的“分支”选项,创建一个名为 develop 的分支。此时会自动从 master 分支切换到 develop 分支。
2. 推送分支到远端
此时的 develop 分支仅存在于本地,无法满足多人共同开发的需求,需要将其推送到远端。点击“推送”,勾选要推送的分支,一般不勾选 master 分支,让专人维护该分支,在需要合并时再推送到 master 分支。
3. 删除分支
如果不需要某个分支,想要将其删除,应先确保代码都已经提交到了本地仓库,然后双击 master 分支切换到 master 分支,点击 SourceTree 的“分支”选项,选择要删除的本地分支和远端分支。
4. 处理代码冲突
结合分支图,点击 Git Flow 选项可以自行试验分支的使用。关于代码冲突,建议提高更新频率,有删除、新加操作时最好立即更新。当冲突出现时,也可以使用 SourceTree 辅助解决。
Git 傻瓜教程到此结束,希望大家有所收获!
来源:CocoaChina 作者:missummer