项目 | 内容 |
---|---|
本做业属于北航软件工程课程 | 博客园班级博客 |
团队项目博客目录 | 团队项目:知识路书 |
团队博客 | 敏杰开发 |
代码仓库 | Roadmap-Frontend |
我在这门课程的目标是 | 得到成为一名软件工程师的能力 |
我在本次做业的目标是 | 总结、分享团队使用Github进行软工开发管理的方法 |
我是北航软件工程课敏杰开发团队的产品经理,咱们团队开发的软件产品为知识路书——图形化文献管理大师。若是您想了解咱们开发的软件在作什么,请查看这篇博客,若是您想全面了解咱们开发的软件,能够在咱们的开发博客目录查看所有的博客,或访问咱们的代码仓库。html
Github是一款目前应用最广的代码管理、项目管理平台,其免费、易用、人性化等特性吸引了全球众多开发者。在软件工程课中,咱们应该学会使用项目管理软件来进行项目管理,本文主要介绍了Github网站项目管理的基本方法,包括仓库的配置、工做流、项目管理、工做量统计等功能。可能有不少刚刚接触开发的小白和我以前同样,并无深刻地使用过Github除了代码托管之外的其它功能,那么在看完本文以后,您能够尝试探索使用Github的这些功能,您会发现,好用至极,根本停不下来~。git
咱们的工做流是:我的开发时由dev
分支checkout出来一个新分支例如zwx--new-feature
,开发结束后经过代码互审合并到dev分支,完成某一整块的功能后,将dev
分支合并到prod
分支,并使用github的release功能发布一个新的版本。github
Github提供了十分方便的分支保护功能,咱们能够利用其实现上述的工做流配置。
工具
zwx--new-feature
开发完成后,提出merge到dev
分支的Pull Request
(后文将详细介绍),通过一名其它成员的复审后,合并到dev分支。dev
分支的代码merge到prod
中。在需求分析、任务分解结束后,产品经理将一个大块的功能分红若干小的、能够单人实现的小功能,这些小功能经过Github中的Issue功能分配给特定的开发人员。
当咱们想为某开发人员添加一个Issue的时候,能够用下述这种方式:网站
在开发人员完成某个Issue的需求后,能够利用Github的Pull Request功能提出代码复审、合并分支的请求
咱们的一个Pull Request以下:code
File changed
标签页,审核开发人员修改的代码,对其代码提出评论,当认为其经过审核后,在评论中选择Approve
,当Approve的人数达到分支保护规则的要求时,就可以合并分支了。Resolve conflicts
按钮能够直接在Github网站中解决冲突,提交commit,十分方便。Squash and Merge
的选项,将这个分支内的全部commit压缩成一个commit进行合并。Github提供了很是方便的项目管理工具Project,可使用其管理项目进度,还能够生成燃尽图等总结图表,帮助项目管理人员进行进度监督。
咱们的开发共分为两个阶段,分别开了两个Project,目前alpha
的开发项目已经结束,beta
的开发项目还在进行中。htm
Github项目管理最重要的功能是看板,点击进入项目后,能够看到以下的看板界面,上面显示着各个功能的开发进度。能够对看板进行设置,让其自动关联Issue,追踪Issue的生命周期blog
To do
中自动出现卡片To do
中的卡片自动移入Done
中当建立了一个Project后,Github会自动建立一个同名的Milestone,能够利用Milestone功能生成项目的燃尽图。
在建立Issue时,绑定一个Milestone。能够点击Issue标签页中的Milestone按钮,查看全部绑定该Milestone的Issue
生成燃尽图,参考这篇博客,使用https://www.cnblogs.com/SivilTaram/p/4900457.html网站生成燃尽图,燃尽图以下:
生命周期
Github提供了方便且详尽的工做量统计功能,点击Insight
标签页能够看到各个维度下的工做量统计数据,对于项目经理等项目管理人员,能够很方便地获得每位开发人员的贡献与进度等信息,帮助其更好地管理团队。
项目管理
本文主要介绍了Github网站项目管理的基本方法,包括仓库的配置、工做流、项目管理、工做量统计等功能。可能有不少刚刚接触软件工程的小白和我以前同样,并无深刻地使用过Github除了代码托管之外的其它功能,那么在看完本文以后,您能够尝试探索使用Github的这些功能。同时Github还有不少功能是本文没有介绍到的,也是笔者没接触到的,您能够继续挖掘Github的更多功能,并分享给更多人。