iOS开发中的Git流程

多人开发到底怎么用Git。

场景

三人合作开发一个app,老大叫小花,老二叫小白,老三叫小丽。

这时候老大去github开一个repository, 当然,公司项目一般是private repo。

创建好之后呢。老大在这个repo分别开四个分支。

名字叫

xiaoming_gittutorial,xiaoqiang_gittutorial,xiaowei_gittutorial,还有一个develop分支。

现在是这样的。

ok,现在老大告诉其他两个人,把项目从github上clone下来。

ok,拉下来之后呢,输入git branch,看看本地分支有哪些。

本地只有一个master,分支。现在,让每个人分别从远程分支拉两个分支。一个是develop,一个是代表自己的那个分支,例如小花,就拉xiaoming_gittutorial.

输入git fetch origin develop:develop

这个命令的意思就是拉取远程的一个叫develop的分支,并在本地创建一个叫develop的分支和远程的分支匹配。

全部拉完之后我们再看看本地有哪些分支了。

我们做完了前期准备工作,接下来怎么保证多人协作的时候尽量少出现merge conflict和污染主分支

做到以下几点,其实就不容易出现大的纰漏。

做好分工,特别是storyboard和xib多种,尽量避免出现多人修改同一个文件。

每个人的所有开发工作都只在自己的分支开发。例如小明开发,你就在本地切换到自己的xiaoming_gittutorial分支然后进行开发。

每个人只允许在自己的分支直接push远程分支。

合并的时候必须遵循以下条件.

十分重要

首先,本地切换到develop分支。

git  pull

例如你是小明,那么在pull到远程的develop最新的内容之后,git merge xiaoming_gittutorial.

如果出现conflict那么清除conflict之后,commit.然后把本地develop push 到远程的develop.

每完成一个功能就提交一次。不要累计代码。

这样的流程有什么好处呢?

几乎不会出现conflict。

你永远也不会污染develop分支。

为什么?因为你每次都是在本地merge完清除了conflict之后再push会远端,那么别人更新本地develop分支,再合并的时候,就算出现conflict也只会是自己最新代码产生的conflict。

最后我们再理清一下思路。

1.正式开发的时候每个人本地只需要有两个分支。一个叫develop,一个是自己的那个分支。

2.每个人可以直接push自己的分支。但是push develop分支的时候。必须先pull 最新的远程develop分支。然后和本地分支合并,清除conflict之后再push。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 多种多样的工作流使得在项目中实施Git时变得难以选择。这份教程提供了一个出发点,调查企业团队最常见的Git工作流。...
    JSErik阅读 4,483评论 2 8
  • Git分支管理 master:主分支,当前分支上的代码随时可以直接发布,并且只能通过Pull Request从其他...
    UEUEO阅读 9,752评论 5 33
  • 挣破情调的束缚 该如何倾诉我的忧伤 漫无边际的燃烧 把你的名字 刻在了阿尔勒的田野上 洒落人间的调色板 流光溢彩 ...
    特立不独行_喵咕酱阅读 475评论 23 20
  • 1)块级元素独占一行显示-->标准流的显示方式 结果是:粉色的盒子在右边 -2)浮动的特点1,设置了浮动的元素不在...
    huhu502阅读 397评论 0 0
  • 我记得在2016年的最后一天,我在闺蜜群里发了一个红包,红包上写着“2017年,让我们成为自己喜欢的样子”...
    楚媗阅读 127评论 0 0