GitHub团队协作开发流程

2017-04-11  本文已影响0人  EternallyLiu

前言

GitHub团队开发,多人协作开发必不可少,还没有学过远程仓库和本地仓库概念请先了解一下,当然因为GitHub的私用服务器是需要租金的,故可能有的公司使用的是GitLab.

流程分析

例如现在公司有一个项目,我们暂且叫他做:GitHubTest.那么这个项目不可能只由一个人来开发,肯定需要团队的协作配合。

假设参与这个项目的人有你,老大,和另外一个同事,你们分别负责一个模块,共三个模块。

开发前远程

这个时候老大会首先在自己本地创建一个项目,然后Push到远程Github服务器成为一个独立的主分支,即远程的master分支,这个master分支是为了之后保存整个项目全部开发完成之后的成熟代码(或者叫上线代码),故开发不会使用master分支上。而是在老大本地新创建一个dev开发分支Push到远程服务器,这样的话,远程服务器就拥有了两个分支,一个用来存放最终版本代码的master分支,和开发使用的dev分支。

开发前本地

当每次开发的时候,你和同事会从dev远程开发分支check一份到本地即新创建一个与远程开发分支关联的分支我们叫做dev_local分支(该本地分支是直接从远程分支dev上拉取下来的,故代码相同),这个分支由于是和远程仓库关联起来的,故如果你进行push会直接提交到远程仓库,所以我们在正式开发的时候,会使用拉取dev之后得到的本地分支dev_local再创建一个本地分支local_fix用来开发,local_fix本地分支因为是由另外一个本地分支dev_local创建的所以不能Push到远程服务器,只能进行Commit(当然直接提交也是可以的,不过会在远程新创建一个local_fix分支,故不推荐),所以程序的开发就可以放心的在local_fix上面进行开发。

开发后本地

当完成了一天的工作之后将代码Commit到local_fix分支本地仓库保存,当你负责的那个模块代码都已经完成之后,这个时候就涉及到合并,先切换到dev_local分支之后,再将local_fix分支的代码与dev_local进行merge合并,这样的话可以保证local_fix中的内容全部合并入dev_local中,进而又因为dev_local是直接从远程分支克隆下来的,故可以直接Push到远程服务器,但是在Push到远程服务器之前需要pull拉取一次最新代码,以防团队其他开发人员已经push了自己负责的那个模块的代码,以保证push时是远程分支最新的代码。

开发后本地

每当代码有一些新的功能加入或者开发人员提交了代码,修复了bug,都需要将远程的dev分支合并到master分支上,以便日后上线。

结尾

因为本人是在校大学生,4月份刚刚出来实习,也是才接触Git团队协作开发,全部都是自己的理解,如果有不对的地方还希望指正。补充对这个讲解特别好的老师的Git开发模式介绍:Git工作流程

上一篇下一篇

猜你喜欢

热点阅读