专业java、php、iOS、C++、网页设计、平面设计、网络营销、游戏开发、前端与移动开发培训机构

git多人协作开发

git 多人协作开发介绍

  1. 需要有一个服务器来存放 git远程仓库
    • 搭建远程仓库的途径:
      1. 自己搭建一个git服务器: 费时费力 (一般公司做法)
      2. GitHub 上托管项目: 公开项目免费、私有项目收费,很多第三方开源项目都是托管在 GitHub
      3. OSChina 上托管项目: 完全免费,在国内访问速度快(推荐使用)
  2. 除了提交到本地仓库,还需要推送到服务器仓库(原创仓库)
  3. 多人开发容易产生冲突,需要手动解决

git 多人开发流程

  1. 创建远程仓库
  2. 经理操作
    • 经理 git clone 将服务器仓库克隆到本地电脑
    • 经理 创建iOS工程,git commit 添加到本地仓库
    • 经理 将本地仓库内容 git push 到远程仓库
  3. 老王操作
    • 老王 git clone 将服务器仓库克隆到本地电脑
    • 老王 修改代码,git commit 提交到本地仓库
    • 老王 将本地仓库内容 git push 到远程仓库
  4. 经理 git pull 将服务的最新代码拉到本地
  5. 注意:
    1. 每个人只有第一次需要克隆,将远程仓库和代码克隆到
    2. 以后修改文件先 git commit 到本地仓库,再 git push 到远程仓库
    3. git pull 获取服务器的最新代码到本地

多人开发实战

  1. 新建 Server(服务器)Manager(经理)LaoWang(老王) 3个文件夹
  2. Server 文件夹创建远程仓库 MoMo.git
    • 使用 git init --bare MoMo.git 创建远程仓库, --bare 表示裸仓库,和本地仓库相比没有 工作区
  3. 经理克隆仓库,将远程仓库克隆到 Manager 文件夹
    1. cdManager 文件夹
    2. git clone 远程仓库地址: git clone /Users/UserName/02.git多人协作开发/Server/MoMo.git
    3. 配置用户名和用户邮箱
  4. 经理添加 .gitignore 文件,忽略不需要管理的文件
    • iOS 开发中有一些不需要添加到git 仓库的文件,例如个人 断点信息 和 个人 Xcode 配置
    • 这些忽略内容不需要我们手动来写,可以去 GitHub 下载,有人早就为常用的软件开发工程写好了对应的 .gitignore
    • 将 下载下来的 Objective-C.gitignore 复制到 工作区,并且重命名为 .gitignore
  5. 经理使用 Xcode 新建 iOS 工程项目,注意位置,需要将工程放到 工作区
  6. 经理使用 git status 可以看到 Xcode 已经帮我们将新建工程的代码添加到暂存区,我们只需要 git commit 到本地仓库就可以了
  7. 经理 git commit 将代码提交到本地仓库
  8. 到此经理的本地仓库就添加了 MoMo 这个 iOS 工程代码,但是远程仓库并不会跟着改动
  9. 经理 git push: 经理将本地仓库的改动推送到远程仓库,这时候远程仓库的内容就和经理的本地仓库内容一致
  10. 老王克隆仓库,将远程仓库克隆到 LaoWang 文件夹
    1. cdLaoWang 文件夹
    2. git clone 远程仓库地址: git clone /Users/UserName/02.git多人协作开发/Server/MoMo.git
    3. 配置用户名和用户邮箱
  11. 老王 修改代码
    1. 新建 LaoWangViewController
    2. LaoWangViewController.m 添加如下代码
        - (void)laoWangDevelop {
            NSLog(@"老王完成功能1");
        }
      
  12. 老王将代码添加到本地仓库: git add ., git commit
  13. 老王本地仓库改动 git push 到远程仓库,此时服务器有了老王修改后的最新代码
  14. 经理要获取服务器的最新代码需要使用 git pull,将服务器的最新代码 pull 到本地仓库
  15. 后续经理再修改代码,使用 Xcode 提交

总结用到的命令

git init --bare     #建立一个git服务器代码仓库
git clone <服务器地址>  #建立一个git服务器代码仓库
git status  #查看 git 工作区和暂存区 文件状态
git add .   #将文件从工作区移到暂存区
git commit -m "注释文字"  #将文件从暂存区提交到代码区,完成一次版本提交
git push    #把本地版本库提交到服务器,类似 svn 的 commit
git pull    #把将服务器的最新版本拉取到本地,并合并代码,类似 svn 的 update

results matching ""

    No results matching ""