ELI5 · GitHub
issue 的標籤是什麼?
彩色小貼紙。一張單子想貼幾張就貼幾張。
🏷️
就是貼紙
bug
documentation
good first issue
跟現實世界一樣:一份文件上可以同時貼「急件」和「財務部」。
數量不限,順序無所謂,沒有階層。
貼起來長這樣
#12
README 的安裝步驟少了一行
這張單子同時說了三件事:它跟文件有關、適合新手接、而且我們在找人幫忙。
新開 repo 就送你這十個
分成三群比較好記。
說這是什麼 · 說這張單子的下場 · 對外招募。
① 這是什麼
最常用的一群,說明這張單子的性質。
bug壞了,行為不對
documentation文件要改
enhancement想加新東西
question還需要更多資訊
accessibility對身障者造成阻礙
② 這張單子的下場
關單子的時候順手貼,說明為什麼不做。
duplicate跟別張重複了
invalid這看起來不對勁
wontfix決定不處理
③ 對外招募
開源專案用來吸引人來幫忙。
good first issue適合新手
help wanted需要幫手
顏色不是隨便配的,是存在 GitHub 上的資料。
每個標籤都有一個色碼(例如
bug 是 #d73a4a),
字要用黑的還是白的,GitHub 會依底色亮度自己決定——上面那些膠囊就是照真實色碼畫的。
GitHub 有四種分類方式,別搞混
最快的分辨方法:問「一張單子能掛幾個」。
🏷️
label
這是什麼性質的事?
想貼幾個都行不限數量
🧩
sub-issue
這件大事由哪幾件小事組成?
只能有一個爸這是一棵樹
🚩
milestone
這批事要在什麼時候前做完?
只能屬於一個一張單子一個
📋
Projects
現在做到哪個階段了?
可以上好幾個看板還能跨 repo
所以上一題說的「一張單子同時屬於兩個大功能做不到」,解法就在這裡——
父子關係做不到的事,換成標籤就行了,因為標籤數量不限。
自己加標籤的兩個常見用法
預設十個夠用就別亂加。標籤一多就沒人看了。
用法一:分領域
area: cpu
area: ppu
area: apu
主人之後做 NES 模擬器就會用到——單子一多,你會想只看「畫面那塊」的問題。 前綴加冒號有個好處:標籤清單是按字母排的,同前綴的會自動排在一起。
用法二:分優先順序
priority: high
priority: low
回答「今天先做哪一張」。只設兩到三級就好——分五級的團隊, 最後每張單子都會變成「高」,等於沒分。
指令
貼之前先看一眼有哪些,這是最省事的習慣:
gh label list # 看這個 repo 有哪些標籤
gh issue create --title "..." --label bug --label documentation
gh issue edit 12 --add-label "help wanted" # 事後補貼
gh issue edit 12 --remove-label question # 撕掉
gh issue list --label bug --state open # 只看有 bug 標籤、還開著的
gh label create "area: cpu" --color 0e8a16 --description "6502 CPU 相關"
一個會讓指令失敗的雷
✗ 貼一個不存在的標籤,指令會直接失敗
GitHub 不會幫你自動建立那個標籤,它只會拒絕。
錯誤訊息的開頭是 could not add label:,後面接 GitHub 回的原因。
最常見的原因其實是打字:good first issue 中間是空格不是連字號,
而且大小寫要完全一樣。所以貼之前先 gh label list 看一眼最保險。