在這一篇文章,我們要來談,GitHub 中另外幾個進階的功能: Milestone (里程碑)、Tag (標籤) 與 Release (新版本),可以協助我們管理專案、程式碼與產品。首先,我們先來談談 Milestones,從字面上的解釋是:展示目前位置與目的地之間的距離,在專案管理中則表示階段性可交付的內容,用來衡量進度 (參考資料 wiki:里程碑)
在 GitHub Issue 內的 Milestone 具有下列功能
你可以在 Issues 功能畫面中找到 Milestone
點選右邊 New milestone 按鈕
輸入 Title, Due date(截止日期), 與 Description,完成後點選右下角 Create milestone
完成設定後,你可以看見建立好的 milestone 與其狀態 (0% Complate, 0 open, 0 closed)
理所當然,我們需要將 issue 連結到此 milestone,才會有正確的統計數字。回到 issue 畫面,點選我們在上一篇文章所建立的 issue: Create GitHub Page (文章連結:在 GitHub 上討論議題 - 建立第一個 Issue 與自訂 Labels),在畫面右手邊將此 issue 加入 milestone。
回到 Milestone 畫面,即可看見 1 open 字樣,我們完成了 "將 issue 加入 milestone" 工作
接下來,我們來談談 Tag 與 Release...
Tag 通常在歷史紀錄中,註記重要的節點,並且在 GitHub 上提供 Zip/Tar 原始檔案下載。 Tag 常見的使用方式像是版本管理 (v1.0 或 Release1.2)。對於頻繁更新與修復的軟體/服務,Tag 是非常重要的功能。 Tag 可以在目前的 commit 上加入,也可以後續再加入。Tag 大致上可以分兩類:
在這裡,需要有一些的 Git 指令使用經驗。在本篇文章,我們只簡易說明如何使用 Tag,不再細部 Git 相關功能,若您有興趣可以參考:Git 基礎-標籤
你可以在命令列使用 git tag 檢視所有的 Tag (但因為我們的範例專案尚未建立任何 Tag,所以會是空白的)git tag
你可以透過 git log --oneline --graph --decorate --all
檢視更改紀錄。黃色字部分即為 commit hash id
你可以使用下列指令,對於特定 commit 建立 Tag
指令格式:git tag -a [版本] -m "[版本訊息]" [commit hash id]
。
指令範例:git tag -a v0.1 -m "0.1 release" 990e0bd
重新使用 git tag
檢視紀錄
確認沒問題,將 tag 推上 github,指令為 git push origin --tags
(將所有標籤推送上去)
您可以開啟 GitHub 上你的 Repo,即可看見上方 Tag 數量有增加
GitHub 上 Tag 功能可以讓您直接下載此版本的原始程式 (Zip/Tar格式)
Release 即為釋出的正式版,是 DevOps 中重要的程序,屬於交付工作。在 GitHub Release 功能中,使用者可以下載原始程式碼與可執行程式 (binary file)。在建立 Release 時,必須注意:
在 Repo 畫面,我們點選右邊 Create release
選擇 Tag,輸入名稱與描述,上傳可執行檔案,完成後點選下方 Publish release 按鈕即完成發佈新版本
經過本篇文章,你應該對於 GitHub 中 Milestone, Tag, 與 Release 功能有完整的了解。經過前面這五篇文章對 GitHub 基本的介紹,從下一篇文章開始,我們將要正式開始進入 GitHub DevOps 主題,內容包含 Development, Project, Action workflow(CI/CD), Security 與實際案例分享。