专业java、php、iOS、C++、网页设计、平面设计、网络营销、游戏开发、前端与移动开发培训机构
git多人协作开发
git 多人协作开发介绍
- 需要有一个服务器来存放
git远程仓库- 搭建远程仓库的途径:
- 自己搭建一个git服务器: 费时费力 (一般公司做法)
- 在
GitHub上托管项目: 公开项目免费、私有项目收费,很多第三方开源项目都是托管在GitHub - 在
OSChina上托管项目: 完全免费,在国内访问速度快(推荐使用)
- 搭建远程仓库的途径:
- 除了提交到本地仓库,还需要推送到服务器仓库(原创仓库)
- 多人开发容易产生冲突,需要手动解决
git 多人开发流程

- 创建远程仓库
- 经理操作
- 经理
git clone将服务器仓库克隆到本地电脑 - 经理 创建iOS工程,
git commit添加到本地仓库 - 经理 将本地仓库内容
git push到远程仓库
- 经理
- 老王操作
- 老王
git clone将服务器仓库克隆到本地电脑 - 老王 修改代码,
git commit提交到本地仓库 - 老王 将本地仓库内容
git push到远程仓库
- 老王
- 经理
git pull将服务的最新代码拉到本地 - 注意:
- 每个人只有第一次需要克隆,将远程仓库和代码克隆到
- 以后修改文件先
git commit到本地仓库,再git push到远程仓库 git pull获取服务器的最新代码到本地
多人开发实战
- 新建
Server(服务器)、Manager(经理)、LaoWang(老王)3个文件夹 - 在
Server文件夹创建远程仓库MoMo.git- 使用
git init --bare MoMo.git创建远程仓库,--bare表示裸仓库,和本地仓库相比没有工作区
- 使用
- 经理克隆仓库,将远程仓库克隆到
Manager文件夹cd到Manager文件夹git clone 远程仓库地址:git clone /Users/UserName/02.git多人协作开发/Server/MoMo.git- 配置用户名和用户邮箱
- 经理添加
.gitignore文件,忽略不需要管理的文件- 在
iOS开发中有一些不需要添加到git 仓库的文件,例如个人断点信息和 个人Xcode配置 - 这些忽略内容不需要我们手动来写,可以去
GitHub下载,有人早就为常用的软件开发工程写好了对应的.gitignore - 将 下载下来的
Objective-C.gitignore复制到工作区,并且重命名为.gitignore
- 在
- 经理使用
Xcode新建iOS工程项目,注意位置,需要将工程放到工作区 - 经理使用
git status可以看到Xcode已经帮我们将新建工程的代码添加到暂存区,我们只需要git commit到本地仓库就可以了 - 经理
git commit将代码提交到本地仓库 - 到此经理的本地仓库就添加了
MoMo这个iOS工程代码,但是远程仓库并不会跟着改动 - 经理
git push: 经理将本地仓库的改动推送到远程仓库,这时候远程仓库的内容就和经理的本地仓库内容一致 - 老王克隆仓库,将远程仓库克隆到
LaoWang文件夹cd到LaoWang文件夹git clone 远程仓库地址:git clone /Users/UserName/02.git多人协作开发/Server/MoMo.git- 配置用户名和用户邮箱
- 老王 修改代码
- 新建
LaoWangViewController - 在
LaoWangViewController.m添加如下代码- (void)laoWangDevelop { NSLog(@"老王完成功能1"); }
- 新建
- 老王将代码添加到本地仓库:
git add .,git commit - 老王本地仓库改动
git push到远程仓库,此时服务器有了老王修改后的最新代码 - 经理要获取服务器的最新代码需要使用
git pull,将服务器的最新代码pull到本地仓库 - 后续经理再修改代码,使用
Xcode提交
总结用到的命令
git init --bare #建立一个git服务器代码仓库
git clone <服务器地址> #建立一个git服务器代码仓库
git status #查看 git 工作区和暂存区 文件状态
git add . #将文件从工作区移到暂存区
git commit -m "注释文字" #将文件从暂存区提交到代码区,完成一次版本提交
git push #把本地版本库提交到服务器,类似 svn 的 commit
git pull #把将服务器的最新版本拉取到本地,并合并代码,类似 svn 的 update