- [前言](#前言) - [一、Git 工作流简介](#一git-工作流简介) - [集中式工作流](#集中式工作流) - [功能分支工作流](#功能分支工作流) - [GitFlow 工作流](#gitflow-工作流) - [Forking 工作流](#forking-工作流) - [Pull Requests](#pull-requests) - [二、工作流](#二工作流) - [1. 集中式工作流](#1-集中式工作流) - [工作方式](#工作方式) - [解决冲突](#解决冲突) - [示例](#示例) - [有人先初始化好中央仓库](#有人先初始化好中央仓库) - [所有人克隆中央仓库](#所有人克隆中央仓库) - [小明开发功能](#小明开发功能) - [小红开发功能](#小红开发功能) - [小明发布功能](#小明发布功能) - [小红试着发布功能](#小红试着发布功能) - [小红在小明的提交之上 rebase](#小红在小明的提交之上-rebase) - [小红解决合并冲突](#小红解决合并冲突) - [小红成功发布功能](#小红成功发布功能) - [总结](#总结) - [2. 功能分支工作流](#2-功能分支工作流) - [工作方式](#工作方式-1) - [Pull Requests](#pull-requests-1) - [示例](#示例-1) - [小红开始开发一个新功能](#小红开始开发一个新功能) - [小红要去吃个午饭](#小红要去吃个午饭) - [小红完成功能开发](#小红完成功能开发) - [小黑收到 Pull Request](#小黑收到-pull-request) - [小红再做修改](#小红再做修改) - [小红发布她的功能](#小红发布她的功能) - [与此同时,小明在做和小红一样的事](#与此同时小明在做和小红一样的事) - [总结](#总结-1) - [3. GitFlow工作流](#3-gitflow工作流) - [工作方式](#工作方式-2) - [历史分支](#历史分支) - [功能分支](#功能分支) - [发布分支](#发布分支) - [维护分支](#维护分支) - [示例](#示例-2) - [创建开发分支](#创建开发分支) - [小红和小明开始开发新功能](#小红和小明开始开发新功能) - [小红完成功能开发](#小红完成功能开发-1) - [小红开始准备发布](#小红开始准备发布) - [小红完成发布](#小红完成发布) - [最终用户发现 Bug](#最终用户发现-bug) - [总结](#总结-2) - [4. Forking 工作流](#4-forking-工作流) - [工作方式](#工作方式-3) - [正式仓库](#正式仓库) - [Forking 工作流的分支使用方式](#forking-工作流的分支使用方式) - [示例](#示例-3) - [项目维护者初始化正式仓库](#项目维护者初始化正式仓库) - [开发者 fork 正式仓库](#开发者-fork-正式仓库) - [开发者克隆自己 fork 出来的仓库](#开发者克隆自己-fork-出来的仓库) - [开发者开发自己的功能](#开发者开发自己的功能) - [开发者发布自己的功能](#开发者发布自己的功能) - [项目维护者集成开发者的功能](#项目维护者集成开发者的功能) - [开发者和正式仓库做同步](#开发者和正式仓库做同步) - [总结](#总结-3) - [5. Pull Requests](#5-pull-requests) - [解析 Pull Request](#解析-pull-request) - [工作方式](#工作方式-4) - [在功能分支工作流中使用 Pull Request](#在功能分支工作流中使用-pull-request) - [在 GitFlow 工作流中使用 Pull Request](#在-gitflow-工作流中使用-pull-request) - [在 Forking 工作流中使用 Pull Request](#在-forking-工作流中使用-pull-request) - [示例](#示例-4) - [小红 fork 正式项目](#小红-fork-正式项目) - [小红克隆她的 Bitbucket 仓库](#小红克隆她的-bitbucket-仓库) - [小红开发新功能](#小红开发新功能) - [编辑代码](#编辑代码) - [小红 push 功能到她的 Bitbucket 仓库中](#小红-push-功能到她的-bitbucket-仓库中) - [小红发起 Pull Request](#小红发起-pull-request) - [小明 review Pull Request](#小明-review-pull-request) - [小红补加提交](#小红补加提交) - [小明接受 Pull Request](#小明接受-pull-request) - [总结](#总结-4) # 前言 本文将介绍 Git 工作流相关知识,包含集中式工作流,功能分支工作流, GitFlow 工作流,Forking 工作流,Pull Requests 等等基本概念。 # 一、Git 工作流简介 工作流有各式各样的用法,但也正因此使得在实际工作中如何上手使用增加了难度。这篇指南通过总览公司团队中最常用的几种 Git 工作流让大家可以上手使用。 在阅读的过程中请记住,本文中的几种工作流是作为方案指导而不是条例规定。在展示了各种工作流可能的用法后,你可以从不同的工作流中挑选或揉合出一个满足你自己需求的工作流。 ## 集中式工作流 如果你的开发团队成员已经很熟悉 Subversion,集中式工作流让你无需去适应一个全新流程就可以体验 Git 带来的收益。这个工作流也可以作为向更 Git 风格工作流迁移的友好过渡。


























































