9. 缺陷跟蹤

缺陷跟蹤(Bug Tracking)是軟件研發(fā)流程中重要的一環(huán),集項目需求管理和缺陷管理于一身废酷,通過對研發(fā)工作流的控制幫助團隊建立規(guī)范的研發(fā)體系。GitHub提供輕量級的缺陷跟蹤模塊舆瘪,稱為Issues臊岸。小巧、易用的Issues模塊能與Pull Request緊密整合蕉饼,是Pull Request工作流的有益補充虐杯。
一個小型、管理文檔和網(wǎng)頁的項目昧港,使用Pull Request往往就足夠了擎椰。試想如果貢獻者能夠直接修改代碼(Fork and edit this file)并通過Pull Request貢獻給項目核心開發(fā)者,那么為什么還要通過Issues模塊報告錯誤并由他人來更改呢创肥?但是對于大型項目需要做需求管理达舒,或者參與代碼開發(fā)有難度,則非常有必要通過Issues模塊啟用缺陷跟蹤系統(tǒng)叹侄,提供更多途徑讓貢獻者參與到項目中來巩搏。
缺陷跟蹤可以通過項目的管理頁面開啟或關(guān)閉

標(biāo)簽

缺陷跟蹤系統(tǒng)通常可用于管理多種不同類型的問題:需求趾代、缺陷或其它塔猾,也可以通過項目不同模塊、組件來為問題分類稽坤。GitHub在問題分類的實現(xiàn)上非常簡單,通過標(biāo)簽(label)來為問題建立分類。
開啟Issues模塊后蓝翰,項目的菜單中多出一個“Issues”項,點擊則進入問題瀏覽界面, 輸入新的標(biāo)簽名得湘,并為標(biāo)簽選擇一個顏色,創(chuàng)建新的標(biāo)簽

里程碑

里程碑(Milestones)是項目進度管理的重要工具顿仇。在傳統(tǒng)項目管理中淘正,里程碑對應(yīng)于一個項目開發(fā)計劃、一個軟件版本臼闻;在敏捷項目管理中鸿吆,里程碑對應(yīng)于一個Sprint(沖刺);在軟件代碼的版本庫中則對應(yīng)于一個標(biāo)簽(tag)或分支(branch)述呐。
在Issues模塊中的“Milestones”頁面用于里程碑管理惩淳。創(chuàng)建新的里程碑需要輸入里程碑名稱和里程碑的截止時間, 創(chuàng)建的里程碑以進度條形式顯示在里程碑頁面中.

Issue的生命周期

GitHub的Issues模塊非常簡單,對標(biāo)簽和里程碑進行簡單的設(shè)置后乓搬,基本上就完成了Issues模塊的配置工作思犁,接下來就是如何創(chuàng)建和修改Issue,完成項目的缺陷跟蹤和需求管理等进肯,這才是Issues模塊的主要工作激蹲。
每個Issue都有自己的生命周期,從問題的創(chuàng)建江掩,到問題的指派学辱,再到問題的解決,直至問題的關(guān)閉
普通貢獻者創(chuàng)建問題時只能錄入問題的標(biāo)題和描述环形,而不能設(shè)置問題的指派(誰來負(fù)責(zé))项郊、添加標(biāo)簽和設(shè)置里程碑。
郵件通知功能是缺陷跟蹤系統(tǒng)推動工作流的重要工具斟赚,GitHub的Issues模塊也具有郵件通知功能。除了像其他缺陷跟蹤系統(tǒng)在收到郵件通知后差油,訪問Web界面參與問題的討論外拗军,還可以直接以郵件回復(fù)的功能參與到工作流中
GitHub還支持版本庫提交和問題建立關(guān)聯(lián),只要提交說明中出現(xiàn)“#xxx”(Issue編號)字樣蓄喇。如果在提交說明中的問題編號前出現(xiàn)特定關(guān)鍵字发侵,還可以關(guān)閉問題。支持的關(guān)鍵字有:

  • fixes #xxx
  • fixed #xxx
  • fix #xxx
  • closes #xxx
  • close #xxx
  • closed #xxx

下面就以gotgithub/helloworld版本庫為例妆偏,關(guān)閉編號為“#1”的問題刃鳄。

  • 克隆版本庫,若本地工作區(qū)尚不存在钱骂。

$ git clone git@github.com:gotgithub/helloworld.git
$ cd helloworld

  • 編輯文件src/main.c叔锐,改正“問題#1”發(fā)現(xiàn)的文字錯誤挪鹏。

$ vi src/main.c
$ git diff
diff --git a/src/main.c b/src/main.c
index 3daf9fe..f974b49 100644
--- a/src/main.c
+++ b/src/main.c
@@ -19,7 +19,7 @@ int usage(int code)
......

  • 將修改添加至?xí)捍鎱^(qū)。

$ git add -u

  • 提交愉烙,并在提交說明中用fixed #xxx關(guān)鍵字關(guān)閉相關(guān)問題讨盒。

$ git commit -m "Fixed #1: -help should be --help."

  • 向GitHub版本庫推送。

$ git push

Pull Requst也是Issue

Pull Request和Issue一樣步责,也是一種對項目的反饋返顺,而且是更為主動的反饋。GitHub的Issues模塊將Pull Request也納入到問題的管理之中蔓肯,完美地將Pull Request整合到問題追蹤的框架之中遂鹊。
為了弄清二者之間的關(guān)聯(lián),首先創(chuàng)建一個Pull Request蔗包。
以非項目成員(如用戶 omnidroid)的賬號訪問gotgithub/helloworld項目秉扑,查看文件src/Makefile,點擊“Fork and edit this file”按鈕快速創(chuàng)建派生項目
通過GitHub提供的在線編輯功能修改src/Makefile文件气忠,修改完畢后撰寫提交說明邻储,點擊“Propose File Change”按鈕提交
在提交說明中特意使用了“Fixed #2”關(guān)鍵字,以便該提交被上游版本庫接納后能夠關(guān)閉關(guān)聯(lián)的問題旧噪。
當(dāng)完成提交后吨娜,GitHub會自動開啟創(chuàng)建新的Pull Request對話框
Pull Request創(chuàng)建完畢后,除了在菜單項“Pull Requests”中有顯示外淘钟,在“Issues”的問題瀏覽頁面中也會顯示, 新建立的Pull Request的編號不是從壹開始創(chuàng)建宦赠,而是接著問題的編號順序創(chuàng)建,所以當(dāng)Pull Request出現(xiàn)在問題列表中時米母,如果不注意后面的山型的分支圖標(biāo)勾扭,根本意識不到這不是一個普通的問題(Issue),而是一個Pull Request铁瞒。顯示在問題瀏覽界面中的Pull Request和問題一樣妙色,可以為其設(shè)置標(biāo)簽、指派負(fù)責(zé)人慧耍、設(shè)置里程碑身辨。
點擊編號為“#3”的問題(Pull Request),會進入到Pull Request頁面芍碧。點擊頁面中的“Merge pull request”按鈕實現(xiàn)Pull Request的合并煌珊。點擊“Confirm Merge”確認(rèn)合并. 完成合并后,查看該Pull Request泌豆,可以看到該Pull Request已經(jīng)關(guān)閉

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末定庵,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蔬浙,老刑警劉巖猪落,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異敛滋,居然都是意外死亡许布,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進店門绎晃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蜜唾,“玉大人,你說我怎么就攤上這事庶艾≡啵” “怎么了?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵咱揍,是天一觀的道長颖榜。 經(jīng)常有香客問我,道長煤裙,這世上最難降的妖魔是什么掩完? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮硼砰,結(jié)果婚禮上且蓬,老公的妹妹穿的比我還像新娘。我一直安慰自己题翰,他們只是感情好恶阴,可當(dāng)我...
    茶點故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著豹障,像睡著了一般冯事。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上血公,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天昵仅,我揣著相機與錄音,去河邊找鬼累魔。 笑死摔笤,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的薛夜。 我是一名探鬼主播,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼版述,長吁一口氣:“原來是場噩夢啊……” “哼梯澜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤晚伙,失蹤者是張志新(化名)和其女友劉穎吮龄,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體咆疗,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡漓帚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了午磁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尝抖。...
    茶點故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖迅皇,靈堂內(nèi)的尸體忽然破棺而出昧辽,到底是詐尸還是另有隱情,我是刑警寧澤登颓,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布搅荞,位于F島的核電站,受9級特大地震影響框咙,放射性物質(zhì)發(fā)生泄漏咕痛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一喇嘱、第九天 我趴在偏房一處隱蔽的房頂上張望茉贡。 院中可真熱鬧,春花似錦婉称、人聲如沸块仆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽悔据。三九已至,卻和暖如春俗壹,著一層夾襖步出監(jiān)牢的瞬間科汗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工绷雏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留头滔,地道東北人。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓涎显,卻偏偏與公主長得像坤检,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子期吓,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,700評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理早歇,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • 二天一晚的拓展活動結(jié)束箭跳,我上了回程大巴晨另,倒頭就睡著了。起初谱姓,我是不太愿意參加這次拓展訓(xùn)練的借尿,還好,我來了屉来。...
    chinangua閱讀 286評論 0 2