項目 | 內容 |
---|---|
本做業屬於北航軟件工程課程 | 博客園班級博客 |
團隊項目博客目錄 | 團隊項目:知識路書 |
團隊博客 | 敏傑開發 |
代碼倉庫 | 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的更多功能,並分享給更多人。