This document is an unofficial translation of https://guides.github.com/fea... and is not endorsed, maintained or overseen by GitHub. For official Help articles, please visit https://guides.github.com.node
本譯文僅供參考,若有疑問請聯繫(chaoyanglius@outlook.com)譯者或者參考原文https://guides.github.com/fea...,感謝您的支持。本做品採用本做品採用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可,如需轉載請遵照該協議內容並附上原文連接。git
添加Issues是一種爲你的項目跟蹤任務(tasks)、強化(enhancements)以及bug的利器。它們有點相似於郵件,除了它們能夠與團隊的其餘成員分享和討論。大多數軟件項目都會有某種bug跟蹤器。而Github的跟蹤器叫作Issues,在每一個倉庫上都會有本身的Issues部分。github
例如,咱們能夠看一下bootstrap倉庫的Issues部分。web
由於Github強調合做、引用和美觀的文本格式,因此它的issue跟蹤十分特殊。下面是一個典型的Github issue:bootstrap
一旦你添加了足夠多的issues,你就會發現你很難找到你所關注的issues。有了Milestones, Labels, and Assignees你就能夠輕鬆地對issues進行分類和過濾。markdown
你能夠經過點擊右側邊欄上相應的齒輪,來改變或添加milestone, assignee, and labels。網絡
若是你沒有看到編輯按鈕,那是由於你沒有編輯issue的權限。你能夠請求倉庫管理者將你添加爲合做者來得到相應的權限。ide
milestones(里程碑)是對應於項目,功能或時間段的issue組。人們在軟件開發時,能夠以不一樣的方式使用他們。下面是Github上的一些例子:工具
label(標籤)是管理issues類型的很好的方式。一個issue能夠有多個label,並且你也能夠一次經過多個label過濾出你想要的issue。學習
每一個issue都會有一個assignee(受委託人)——負責推動issue的人。選擇Assignees的方法與選擇milestones的方法相同,都是經過issue上方的灰色欄。
經過在issues中使用@mentions和references,你能夠通知其餘GitHub用戶和團隊,以及交叉鏈接issues(在一個issue中提到另外一個issue)。這些提供了一種靈活的方式來讓合適的人有效地解決問題,而且易於學習和使用。它們能夠在GitHub中的全部文本中起做用——由於它們是GitHub Flavored Markdown文本格式化語法中的一部分。
若是你想了解更多,能夠看看Mastering Markdown.
Notifications(通知)是GitHub中隨時瞭解你的issues的一種方式。經過它們,你能夠找到倉庫的新issues,或者知道何時有人須要你來推動issues。
有兩種收到notifications的方式:經過郵箱和網頁。你能夠在你的設置中配置你接收notifications的方式。若是你計劃收到不少notifications,咱們推薦你在Participating中設置爲web(網頁)+email(郵箱),而在Watching中設置web(網頁)。
經過這些設置,當人們特別說起您時,您會收到電子郵件,而後訪問基於網絡的界面,就能夠隨時瞭解您感興趣的倉庫。
你能夠經過notifications界面來訪問你的notifications。這個界面對於一次瀏覽多個通知十分方便,並且也能夠將通知標記爲已讀或者屏蔽消息。你可使用快捷鍵來加快你的工做流程——在github頁面下按下鍵盤上的?
你就能夠看到有哪些快捷鍵了。
被屏蔽的消息不會在以未讀的狀態出現,直到你再次被特別地@mentioned(提到)。這樣你就能夠屏蔽那些你不感興趣的線程(多是你不熟悉的子系統)。若是你將某個issue標記爲已讀,若是有人再次對這個消息進行評論的話,它的狀態就會改變。
GitHub也會經過郵箱來同步已讀/未讀狀態——若是你在你的郵箱客戶端讀了一條notification,那麼在網頁界面上的notification就會自動標記爲已讀(若是你喜歡這個功能,你就要確保你郵箱客戶端容許顯示圖片)。
咱們能夠經過@mentions在Github issues引用其餘Github用戶。咱們能夠在任何issues的描述或評論中使用它,也能夠@username來向另外一個Github用戶發送notification。這很像twitter中的@mentions。
咱們比較喜歡使用/cc
語法將人們包含在issue中:
It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug?/cc @kneath @jresig
若是你指定要包括的人的話,它的效果會很是好,可是許多狀況下,咱們是跨團隊工做,可能並不知道誰會幫助咱們。@mentions對於GitHub組織中的團隊也是起做用的。若是你在@acmeinc組織(organization)中建立了一個叫作browser-bugs的團隊,你也能夠經過@mentions來引用這個團隊:
/cc @acmeinc/browser-bugs
這樣的話就會給團隊的每一個成員發送notifications。
issues常常是獨立於其餘issues的,或者至少與其餘有關係並且你想將它們鏈接起來。你能夠經過輸入井號(#)+issue編號來引用issues。
Hey @kneath, I think the problem started in #42
若是你想包含其餘倉庫的issues,你能夠在前面加上倉庫的名字,好比像這樣:
kneath/example-project#42
有一種引用issues的更有趣的方式就是直接從commits中引用issues。你能夠在提交信息中包含issue編號。
當你將提交合併到master分支時,以「Fixes」, 「Fixed」, 「Fix」, 「Closes」, 「Closed」, 或者「Close」開頭的commits信息會自動關閉相應的issues。
引用這一功能將正在完成的工做與正在跟蹤的bug牢牢聯繫在一塊兒,並且它是也將項目歷史得以可視化的好方法。
在每一個頁面的上方是一個搜索框,你能夠經過它來搜索issues。
你能夠經過下面的方式檢索搜索結果:
這篇關於查找issues的幫助文檔會向你展現其餘的搜索方式:使用建立或更新日期,標籤,做者,評論數量,倉庫主人或者更多。
在這個issues部分以外,還有兩個頁面用於幫助總結如何在你的倉庫以及全部你的倉庫中處理issues。
若是你正在尋找一個包含更多項目的全部issues的列表,issues面板將是一個很是好的工具。這個面板的工做方式與issues部分很是類似,可是收集的issues的方式是不一樣的:
若是你使用了organizations(組織),那麼issues面板就會爲每一個organization劃分一個issues面板。
在每一個倉庫下面都會有一個叫作Pulse的部分——Pulse是該倉庫過去一週(或者一天或者三個月)發生的全部活動的快照。
經過它,你能夠在你離開一段時間後,很快地遇上倉庫進度而且不想在關注倉庫時接收頻繁的notifications。
issues能夠用來跟蹤各類東西——而且GitHub是一個上分享和合做issues的好地方。下面是一些咱們最喜歡作的:
祝賀你讀完了這麼長的文章!issues管理器在任何開發者的處理中都是一個強有力的工具。我想如今要作的就是修復你的bug了。