美文网首页
iOS 开发之代码版本控制:Git

iOS 开发之代码版本控制:Git

作者: 请叫我安安小盆友 | 来源:发表于2017-02-11 21:25 被阅读0次

Git 是什么

Git 是一种分布式版本控制系统。每个团队成员在本地都有一份整个代码仓库的镜像。

为什么用 Git

  • 节省时间:Git 命令运行快速
  • 离线工作:即使没有网络或是远程服务器宕机,也可以在本地进行几乎所有的操作
  • 撤销错误操作:改正上一个提交,撤销一个完整的提交...
  • 可靠性高:每个成员都有一个镜像,意味着丢失数据货仓库损坏的概率很低
  • 更高的自由度:强大的分支功能,打造合适的工作流
  • 顺应潮流:看看有多少知名的开源项目使用 Git 就知道了

Git 基本工作流程

  1. 更改本地仓库中的某个文件
  2. 使用 git add 命令将改动照添加到暂存区
  3. 使用 git commit 命令提交改动
  4. 使用 git push 命令将改动提交到远端仓库

更多的操作参考:

工具和服务

工作流

基于 Git 强大的分支特性,可以灵活的打造工作流。比如 Atlassian Git TutorialComparing Workflows 章节中提到的以下四种:

  • Centralized Workflow
  • Feature Branch Workflow
  • Gitflow Workflow
  • Forking Workflow

每一种工作流都有对应适合的使用场景。每个团队商定一个统一的工作流是至关重要的,可以自己定义一个完全适合自己项目的工作流,或者使用一个别人定义好的。在我以往所待过的团队中都默认使用了一个当前流行的工作流 git-flow

实际开发过程中流程可能如下:

  • 初始化得到预设的 master 和 develop 分支
  • 从 develop 分支开 feature 分支开发新功能,完成后合并到 develop 分支
  • 功能点都开发完并经过测试后,从 develop 分支上开 release 分支,主要用来做最后的检查。等准备好上架后,再合并到 master 和 develop,并打上 tag
  • 从 master 分支上打包提交到 App Store
  • 如果发现 master 上的版本有 bug,从 master 开 hotfix 分支,修复后再合并到 master 和 develop

SourceTree 也已对这种工作流提供了支持。

最佳实践

  • 正确使用 .gitignore 文件,避免提交不必要的文件到代码仓库,可参考这里
  • 提交前充分测试自己的改动,这当然是最基本的。
  • 每次提交粒度要小,比如一个提交只修复一个问题,或完成一个小功能。对于非常复杂的新功能,应该将其分割成多个有意义的逻辑模块来进行提交。精简的提交可以让其他的开发团队人员更简单地明白其改动的用义。
  • 频繁地提交改动,便于其他成员共享你的改动,减少整合代码时的冲突。
  • 提交信息(commit message)规范化,加快 code review 进度,便于编写 release note,便于以后快速回忆起每个提交的变化。另可参考这里
    • 第一行作为标题,用少于 50 个字符来简短说明。
    • 在一个空白分割行后要对改动做一个详细的描述,比如为什么要进行这次修改,具体改动了什么。
    • 一定要使用现在时祈使句,动词要用比如 fix,add,change,而不是 fixed,added,changed。
  • 灵活使用分支功能,比如添加新功能,修复错误,尝试新的想法等等都可以新开一个分支进行。
  • 遵循一个工作流程,可根据项目开发的类型,部署模式和团队成员的个人习惯等,商定一个工作流并一直遵循它。

拓展

  1. Become a git guru.
  2. Learn Version Control with Git

相关文章

  • iOS 开发之代码版本控制:Git

    Git 是什么 Git 是一种分布式版本控制系统。每个团队成员在本地都有一份整个代码仓库的镜像。 为什么用 Git...

  • DevOps开源工具

    开发工具 版本控制&协作开发 版本控制系统 Git 代码托管平台 GitLab 代码评审工具 Gerrit 版本控...

  • SourceTree的简单使用(转载)

    在iOS开发, 涉及到多人协同开发的时候, 这个时候, 我们就得利用版本控制系统(例如GIT), 来合并和管理代码...

  • [iOS]SourceTree+oschina实现代码远程托管

    在iOS开发, 涉及到多人协同开发的时候, 这个时候, 我们就得利用版本控制系统(例如GIT), 来合并和管理代码...

  • Git的介绍及使用(二)

    一、为什么要使用Git? 1、源代码管理的好处 方便多人协同开发 方便版本控制 2、Git的诞生 作者Linux之...

  • 2018-03-12

    Git使用教程 Git是什么?Linus为了管理Linux系统代码而开发的一个版本控制系统。 版本控制(Revis...

  • Git使用详解

    代码管理工具之Git 一,什么是版本控制? 版本控制透过文档控制(documentationcontrol)记录程...

  • GIT git 日记

    GIT介绍 分布式版本控制系统版本控制系统 : 把开发中的代码放到GIT中(把一段时间的代码记录成一个版本),后期...

  • iOS系列开发-版本控制工具Git的使用

    iOS系列开发-版本控制工具Git的使用 作为一个开发者,与团队之间默契的配合是很重要的,我们所写的代码在无论是在...

  • Git基础教程

    Git 概述 Git是用C语言开发的分布版本控制系统。分布版本控制系统不需要一个集中式的代码仓库。 术语 仓库 (...

网友评论

      本文标题:iOS 开发之代码版本控制:Git

      本文链接:https://www.haomeiwen.com/subject/zzmoittx.html