基础篇04:关于协同开发的代码管理模式 - kudan-game/ArtArtist-Repo GitHub Wiki

本篇介绍小团队如何管理和进行多人开发


1. 分支是什么?

  • branch(分支)是Github管理code的核心方法,每个分支都是当前存储库所有代码的一个全量快照。每当新建一个存储库,Github会分配一个默认的主分支(master),开发人员可以把master作为主干(发布)分支。
  • 每个开发人员获取master后,需基于master创建自己的开发分支(feature),进行个人开发。

2. 本地和远端分支有什么不同?

Github为分布式版本管理工具,如下图所示,本地的仓库与远端(github)的代码仓库是完全相同的,可以理解为远端的镜像。

本地仓库中的分支有两类:

  • 远程仓库分支的镜像分支:如下图“本地仓库”中左侧以remote开头的分支,此类分支与远端一一对应,本地只能查看不能修改;
  • 本地分支:如下图“本地仓库”中右侧的分支,如master,feature等,此类分支是基于镜像分支创建的本地分支,本地的提交都是基于此类分支操作。
  • 获取(fetch)操作:将远程操作中的更新,包含所有新建的分支名称、新建的标签名称、分支的最新提交等同步到本地的镜像分支,操作执行完成后本地镜像分支将拥有远程仓库的最新代码;
  • 拉取(pull)操作:拉取 = 获取 + 合并 ,即在完成获取之后同步更新当前所在分支(本地分支)的内容。

image

3. 一张图了解Github协同开发模式

image