
在進行版本開發時,我們時常會遇到一個情況:程式碼已經繼續往後開發了好幾個 Commit,這才想起「啊!之前的某個版本應該要打上標籤(Tag)才對」。
其實 Git 非常彈性,即便目前的 Branch 已經領先該位置,我們依然可以隨時「補票」。以下是具體的操作步驟:第一步:精準定位,找到 Commit ID
首先,我們需要告訴 Git 要把標籤貼在哪個位置。請先開啟終端機,輸入以下指令來查看歷史紀錄:
git log --oneline
這時你會看到一串清單,例如:
- a1b2c3d (HEAD -> main) 最新提交的內容
- e5f6g7h 修正了某些 Bug
- j9k0l1m <--- 假設這就是你想補打 Tag 的目標位置
- n2o3p4q 初始專案建立
請將該位置對應的 哈希值(Hash,即前七碼英數組合) 複製下來。
第二步:建立標籤(Tag)
找到 ID 後,你可以根據需求選擇建立「輕量標籤」或「附註標籤」。
1. 輕量標籤 (Lightweight Tag)
如果你只是單純想做一個指向,不需要額外資訊,可以使用:
指令範例:
git tag v1.0.0 j9k0l1m
2. 附註標籤 (Annotated Tag) —— 推薦使用
這類標籤會包含建立者、日期及訊息,對長期維護與團隊協作更有幫助:
指令範例:
git tag -a v1.0.0 j9k0l1m -m "這是 1.0.0 版本的正式發布"
第三步:同步至遠端伺服器
有一點要特別注意:Git 預設不會在執行 git push 時自動上傳 Tag。 為了讓 GitHub 或 GitLab 等遠端平台也能看到標籤,你需要手動推送:
- 推送特定標籤:
git push origin v1.0.0 - 一次推送所有本地尚未上傳的標籤:
git push origin --tags
結語:如何確認是否成功?
如果你想確認標籤是否正確掛在歷史紀錄中,可以使用以下指令查看視覺化線圖:
git log --oneline --graph --all --decorate
你會發現標籤 (tag: v1.0.0) 已經穩穩地標註在 j9k0l1m 旁邊,無論後續有多少新的 Commit,這個標記都會留在那個歷史瞬間。
學會這一招,下次忘記打 Tag 時就不用再手忙腳亂地進行 Reset 或刪除 Commit 了!


















