iOS开发:Git流程

 开发:Git流程-">

  iOS开发中的Git流程

  Git的优点相信已不用我赘述,不是SVN之流能够相提并论的。

  以前多人开发的时候我还用过拖文件大发和别人合作的。- -!

  我在这里不多说一些基本命令,只教最实用的,多人开发到底怎么用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。

时间: 2016-02-23

iOS开发:Git流程的相关文章

Git在iOS开发中的使用

原文出自标哥的技术博客:http://www.henishuo.com/git-use-inwork/ 请阅读原文!!! Git在iOS开发中的使用 在iOS开发中,很多公司对项目的版本控制管理都使用了git,当然也有部分公司使用的是svn.当年我最初接触的是svn,觉得使用起来挺方便的,但是每次切分支都需要下载一份新的代码起来,这实在太麻烦了,而且公司的网络下载一个项目的所有资源起来也有数百M,这还用工作么? 当年,第一次听说github的时候,就听说是使用git来管理的,可是那时的我感觉好复

《iOS开发指南》第二版 iOS7版-源码-样章-目录,感谢大家一直以来的支持

<iOS开发指南-从0基础到AppStore上线>第二版 iOS7版正式出版了 感谢大家一直以来的支持! 改版后采用全新的ios 7 api,详细介绍了最新的ios 7 开发相关的知识点,全部案例以iOS7版本SDK重新编译. 新增:iOS 7中文字排版和渲染引擎--Text Kit:      iOS6升级到iOS7遇到的问题与解决方法:      着重讲解iOS分层架构设计: 更新无处不在,更多新增内容请详细阅读本书 京东销售地址:http://item.jd.com/11419483.h

《iOS开发指南》正式出版-源码-样章-目录,欢迎大家提出宝贵意见

我的最新作品:<iOS开发指南-从0基础到AppStore上线>正式出版了 iOS架构设计.iOS性能优化.iOS测试驱动.iOS调试.iOS团队协作版本控制......应有尽有 京东销售地址:http://item.jd.com/11288969.html 当当销售地址:http://product.dangdang.com/product.aspx?product_id=23290237 亚马逊销售:地址太长了,直接连接了 图灵社区在线阅读,购买地址:http://www.ituring.

iOS开发系列--通知与消息机制

概述 在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感兴趣的那么通过通知机制就可以告诉用户此时发生的事情.iOS中通知机制又叫消息机制,其包括两类:一类是本地通知:另一类是推送通知,也叫远程通知.两种通知在iOS中的表现一致,可以通过横幅或者弹出提醒两种形式告诉用户,并且点击通知可以会打开应用程序,但是实现原理却完全不同.今天就和大家一块去看一下如何在iOS中实现这两种机制,并且在文章后面会补充通知中心的内容避免初学者对两种概念的混淆. 本地通知 推送通

iOS开发中的单元测试(二) 让断言活泼起来的匹配引擎

上一篇文章简单介绍了OCUnit和GHUnit两款iOS开发中较为常见的单元测试框架,本文进一步介绍单元测试 中的另一利器--匹配引擎(Matcher Engine).匹配引擎可以替代断言方法,配合单元测试引擎使用,测试 用例可以更多样化,更细致. 传统断言提供的方法数量和功能都有限,以导读中提到的两款框架为例 ,即使是断言相对丰富的GHUnit也只是提供了38种断言方法,范围仅涵盖了逻辑比较,异常和出错等少数几方 面,仍然很单一.而使用匹配引擎代替断言,可能性就大大丰富了,除了普通断言支持的规

iOS开发中的单元测试(一) 对比OCUnit和GHUnit

本文不讨论单元测试是什么,或者它之于一个工程的利弊,我认为单元测试是一个开发者保证产出代码质 量的有效工具.本文从使用者的角度对比当下比较流行的两款单元测试框架,给大家提供一些选用建议.如果 你还不甚了解单元测试在工程中所起到的作用,或者还不知道TDD的开发模式,可参考:Test-Driven Development和Unit Testing. 本文对比两个iOS开发中常见的单元测试框架:OCUnit,被官方集成进XCode 4.x版本中:GHUnit,被推荐 最多的测试框架,带GUI界面.初窥

iOS开发:内置URL schemes

 在IOS的应用中经常会看到一些应用程序通过某个点击动作而直接跳到App Store页面,开始很奇怪这种第三方应用于IOS的系统应用交互时怎么实现的.后来发现苹果的开发者文档中关于这种通信的实现是默认支持的,只要第三方 的应用符合规范即可,这里的规范就是指接下来我们要简单介绍的东西--URL Schemes. 根据规定,IOS中支持几种特殊的URL schemes,第三方的本地应用程序和运行在Safari的Web应用程序,通过这些URL schemes可以与IOS的系统应用进行整合,为的是为用户

iOS开发的一些小技巧

  1.神器计算图片位置的函数:AVMakeRectWithAspectRatioInsideRect() 通过这个函数,我们可以计算一个图片放在另一个 view 按照一定的比例居中显示,可能说的我比较抽象,还是用图来显示,可以说它可以直接一个 image 以任何的比例显示显示在 imageview 中居中所处的位置,拿 UIViewContontAspectFit来演示, UIImageView *imageView = [[UIImageView alloc] initWithFrame:C

iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)

图像: 1.图片浏览控件MWPhotoBrowser        实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作.       下载:https://github.com/mwaterfall/MWPhotoBrowser   目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在Google Code.SourceForge等地方.由于Github社区太过主流,这里主要介绍一下Gith