[Git 工作流指南]Git Workflows and Tutorials

来源:互联网 发布:单片机音阶频率表 编辑:程序博客网 时间:2024/06/15 06:43

原文链接:Git Workflows and Tutorials
译文发在博乐在线: http://blog.jobbole.com/76550/,2014-09-14

:apple: 译序

这篇指南以大家在SVN中已经广为熟悉使用的集中式工作流作为起点,循序渐进地演进到其它高效的分布式工作流,还介绍了如何配合使用便利的Pull Request功能,体系地讲解了各种工作流的应用。 如果你Git用的还不多,可以从前面的讲的工作流开始操练。操作过程去感受指南的讲解:解决什么问题、如何解决问题,这样理解就深了,也方便活用。

行文中实践原则和操作示例并重,对于Git的资深玩家可以梳理思考提升,而新接触的同学,也可以跟着step-by-step操作来操练学习并在实际工作中上手使用。

工作流其实不是一个初级主题,背后的本质问题其实是有效的项目流程管理和高效的开发协同约定,不仅是GitSVNVCSSCM工具的使用。

关于Git工作流主题,网上体系的中文资料不多,主要是零散的操作说明,希望这篇文章能让你更深入理解并在工作中灵活有效地使用起来。

Gitflow工作流是经典模型,处于核心位置,体现了工作流的经验和精髓。随着项目过程复杂化,会感受到这个工作流中深思熟虑和威力!

Forking工作流是协作的(GitHub风格)可以先看看GitHub的Help:Fork A Repo和Using pull requests 。照着操作,给一个GitHub项目贡献你的提交,有操作经验再看指南容易意会。指南中给了自己实现Fork的方法:Fork就是服务端的克隆。在指南的操练中使用代码托管服务(如GitHubBitbucket),可以点一下按钮就让开发者完成仓库的fork操作。

PS

文中Pull Request的介绍用的是Bitbucket代码托管服务,由于和GitHub基本一样,如果你用的是GitHub(我自己也主要使用GitHub托管代码),不影响理解和操作。

PPS

更多Git学习资料参见

  • Git的资料整理 by @xirong
  • 自己整理的分享PPT git-gitlab-usage.pptx @ 个人整理一些Git资料

  • :see_no_evil: 自己理解粗浅,翻译中不足和不对之处,欢迎 :clap:
    • 建议,提交Issue
    • 指正,Fork后提通过Pull Requst贡献修改
  • 如有文章理解上有疑问 或是 使用过程中碰到些疑惑,请随意:raised_hands:提交Issue ,一起交流学习讨论!

Git工作流指南

:point_right: 工作流有各式各样的用法,但也正因此使得在实际工作中如何上手使用变得很头大。这篇指南通过总览公司团队中最常用的几种Git工作流让大家可以上手使用。

在阅读的过程中请记住,本文中的几种工作流是作为方案指导而不是条例规定。在展示了各种工作流可能的用法后,你可以从不同的工作流中挑选或揉合出一个满足你自己需求的工作流。

Git Workflows

:beer: 概述

集中式工作流

如果你的开发团队成员已经很熟悉Subversion,集中式工作流让你无需去适应一个全新流程就可以体验Git带来的收益。这个工作流也可以作为向更Git风格工作流迁移的友好过渡。

了解更多 »

Git Workflows: SVN-style

功能分支工作流

功能分支工作流以集中式工作流为基础,不同的是为各个新功能分配一个专门的分支来开发。这样可以在把新功能集成到正式项目前,用Pull Requests的方式讨论变更。

了解更多 »

Git Workflows: Feature Branch

Gitflow工作流

Gitflow工作流通过为功能开发、发布准备和维护分配独立的分支,让发布迭代过程更流畅。严格的分支模型也为大型项目提供了一些非常必要的结构。

了解更多 »

Git Workflows: Gitflow Cycle

Forking工作流

Forking工作流是分布式工作流,充分利用了Git在分支和克隆上的优势。可以安全可靠地管理大团队的开发者(developer),并能接受不信任贡献者(contributor)的提交。

了解更多 »

Git Workflows: Forking

Pull Requests

Pull requestsBitbucket提供的让开发者更方便地进行协作的功能,提供了友好的Web界面可以在提议的修改合并到正式项目之前对修改进行讨论。

了解更多 »

Workflows: Pull Requests

目录

  • 译序
  • 概述
  • 集中式工作流
    • 工作方式
      • 冲突解决
    • 示例
      1. 有人先初始化好中央仓库
      2. 所有人克隆中央仓库
      3. 小明开发功能
      4. 小红开发功能
      5. 小明发布功能
      6. 小红试着发布功能
      7. 小红在小明的提交之上rebase
      8. 小红解决合并冲突
      9. 小红成功发布功能
    • 下一站
  • 功能分支工作流
    • 工作方式
      • Pull Requests
    • 示例
      1. 小红开始开发一个新功能
      2. 小红要去吃个午饭
      3. 小红完成功能开发
      4. 小黑收到Pull Request
      5. 小红再做修改
      6. 小红发布她的功能
      7. 与此同时,小明在做和小红一样的事
    • 下一站
  • Gitflow工作流
    • 工作方式
      • 历史分支
      • 功能分支
      • 发布分支
      • 维护分支
    • 示例
      1. 创建开发分支
      2. 小红和小明开始开发新功能
      3. 小红完成功能开发
      4. 小红开始准备发布
      5. 小红完成发布
      6. 最终用户发现Bug
    • 下一站
  • Forking工作流
    • 工作方式
      • 正式仓库
      • Forking工作流的分支使用方式
    • 示例
      1. 项目维护者初始化正式仓库
      2. 开发者fork正式仓库
      3. 开发者克隆自己fork出来的仓库
      4. 开发者开发自己的功能
      5. 开发者发布自己的功能
      6. 项目维护者集成开发者的功能
      7. 开发者和正式仓库做同步
    • 下一站
  • Pull Requests
    • 解析Pull Request
    • 工作方式
      • 在功能分支工作流中使用Pull Request
      • Gitflow工作流中使用Pull Request
      • Forking工作流中使用Pull Request
    • 示例
      1. 小红fork正式项目
      2. 小红克隆她的Bitbucket仓库
      3. 小红开发新功能
      4. 小红push功能到她的Bitbucket仓库中
      5. 小红发起Pull Request
      6. 小明review Pull Request
      7. 小红补加提交
    • 下一站
0 0
原创粉丝点击