標籤:

github issue是做什麼的?

issue是做什麼的。


閑來無事,挖墳一座。

GitHub 的 issue 功能,對個人而言,就如同 TODO list 。

你可以把所有想要在下一步完成的工作,如 feature 添加、bug 修復等,都寫成一個個的 issue ,放在上面。既可以作為提醒,也可以統一管理。

另外,每一次 commit 都可以選擇性的與某個 issue 關聯。比如在 message 中添加 #n,就可以與第 n 個 issue 進行關聯

commit message title, #1

這個提交會作為一個 comment ,出現在編號為1的 issue 記錄中。

如果添加:

  • close #n

  • closes #n

  • closed #n
  • fix #n

  • fixes #n

  • fixed #n
  • resolve #n
  • resolves #n
  • resolved #n

比如

commit message title, fix #n

則可以自動關閉第 n 個 issue 。

issue 可以有額外的屬性:

  • Labels,標籤。包括 enhancement、bug、invalid 等,表示 issue 的類型,解決的方式。除了自帶的以外,也可以去自定義。
  • Milestone,里程碑。幾經修改後,它現在已經與git tag和Github release區分開來,僅僅作為issue的一個集合。通常用來表示項目的一個階段,比如demo、release等,保護達成這些階段需要解決的問題。有時候,也會與版本計劃重合,比如v1.0、v2.0等。issue不能設置截止時間,但是milestone可以。

  • Assignee,責任人。指定這個 issue 由誰負責來解決。

充分利用這些功能,讓每一個 commit 的意義更加明確,可以起到了良好的過程管理作用,使得這個 Git 庫的項目進度更加顯然。而且,這也是項目後期,寫文檔的絕佳素材。

對團隊而言,這就是一個協作系統

現在,很多大公司的軟體研發團隊協作,都是通過 JIRA 來實現的。

目前也流行很多非代碼的團隊協作,比如 teambition、http://Tower.im、Worktile、trello 等。

其實,GitHub 的 issue ,就是一個輕量級協作系統。它的 comment 支持 GitHub Flavored Markdown,可以進行內容豐富的交流。Git 本身就是分散式的代碼版本控制軟體,是為了程序員的協作而設計的。而 issue 的 Assignee 功能,就是這個在線協作系統的核心,足以讓一群線上的開發者,一起完成一個軟體項目。

最後,作為一個路人,你可以通過 issue 給別人的項目提 bug 。

參考:Closing issues via commit messages,About issues

其它Github幫助,可以在此搜索:GitHub Help


Issue可以用來提出question, bug, enhancement等討論,同時他人folk提交合併後都會在Issue裡面有顯示。


對項目的Owner,Issues可以公開下一步的Feature,更好的聽取用戶建議

對用戶,Issues是一個反饋平台,可以將使用時的問題發表出來,等待社區或Owner解答。

我也看到一些奇葩的用法,例如把Issues當普通論壇用。


甚至有人用他寫博客

Issues 路 Kjuly/issues 路 GitHub


推薦閱讀:

把公司代碼上傳到了github上,被leader發現了怎麼辦?
GitHub 上有哪些適合新手跟進的優質項目?
如何在 Github 上找到適合自己水平的開源項目進行學習?
不會用Github是怎麼樣的體驗?
非程序員使用 GitHub 會有什麼障礙么?可以用來幹什麼?

TAG:GitHub |