iT邦幫忙

2025 iThome 鐵人賽

DAY 9
0
自我挑戰組

30天 Git 版本控制實戰筆記系列 第 11

Day 11:Git Tag 版本標記 - 專業版本管理

  • 分享至 

  • xImage
  •  

今日目標
• 理解 Git Tag 的用途與重要性
• 學習創建和管理版本標籤
• 掌握語義化版本控制 (Semantic Versioning)
• 建立專業的版本發布流程
為什麼需要 Git Tag?
職場真實情況:
客戶:「我們網站出問題了!請回到上週發布的版本!」
你:「呃...哪個 commit 是上週的版本?」
主管:「下次記得用 Tag 標記重要版本!」

使用 Tag 後:
客戶:「請回到 v1.2.0 版本!」
你:「好的!」git checkout v1.2.0
Git Tag 的用途:
• 🏷️ 標記重要版本:如 v1.0.0、v2.1.3
• 📦 發布管理:清楚知道哪個版本發布了什麼功能
• 🔄 版本回溯:快速回到特定版本
• 📋 Release Notes:為每個版本撰寫更新說明
操作步驟
步驟1:建立練習環境

確保在專案資料夾

cd company-website
git checkout main
git pull origin main

查看目前的專案狀態

git log --oneline -5
git status
步驟2:了解版本命名規則 (Semantic Versioning)
版本格式:MAJOR.MINOR.PATCH
v1.2.3
├── 1 (MAJOR) # 重大更新,不向後相容
├── 2 (MINOR) # 新功能,向後相容
└── 3 (PATCH) # Bug修復,向後相容
實際範例:
v1.0.0 # 首次正式發布
v1.0.1 # 修復小 bug
v1.1.0 # 新增功能(向後相容)
v1.1.1 # 又修復 bug
v2.0.0 # 重大更新(可能不相容舊版)
步驟3:創建輕量標籤 (Lightweight Tag)

為目前的 commit 建立標籤

git tag v1.0.0

查看所有標籤

git tag

查看標籤詳細資訊

git show v1.0.0
步驟4:創建註解標籤 (Annotated Tag) - 推薦

建立帶有詳細資訊的標籤

git tag -a v1.1.0 -m "Release version 1.1.0

新增功能:

  • 團隊介紹頁面
  • 個人資料設定
  • 最新消息區塊

Bug 修復:

  • 修復聯絡表單驗證問題
  • 改善響應式設計

技術改進:

  • 優化 CSS 架構
  • 改善程式碼品質"

查看註解標籤的完整資訊

git show v1.1.0
步驟5:為過去的 commit 建立標籤

查看提交歷史

git log --oneline -10

假設你想為某個舊的 commit 建立標籤

git tag -a v1.0.1 -m "修復版本"

git tag -a v1.0.1 abc1234 -m "Release version 1.0.1

Bug 修復:

  • 修復首頁聯絡按鈕連結錯誤
  • 改善網站載入速度"
    步驟6:推送標籤到遠端

推送特定標籤

git push origin v1.1.0

推送所有標籤

git push origin --tags

查看遠端標籤

git ls-remote --tags origin
步驟7:基於標籤進行開發

基於特定標籤建立新分支

git checkout -b hotfix/v1.1.1 v1.1.0

修復緊急問題(建立小修改)

echo "" >> index.html

git add index.html
git commit -m "fix: 改善網頁載入效能"

建立修復版本標籤

git tag -a v1.1.1 -m "Release version 1.1.1

Bug 修復:

  • 改善網頁載入效能
  • 優化資源載入順序"

合併修復到 main

git checkout main
git merge hotfix/v1.1.1

推送更新和標籤

git push origin main
git push origin v1.1.1
標籤管理進階操作
查看和比較標籤:

列出所有標籤

git tag

列出符合條件的標籤

git tag -l "v1.1.*"

比較兩個標籤的差異

git diff v1.0.0 v1.1.0

查看標籤之間的提交記錄

git log v1.0.0..v1.1.0 --oneline
刪除標籤:

刪除本地標籤

git tag -d v1.0.1

刪除遠端標籤

git push origin :refs/tags/v1.0.1

或使用新語法

git push origin --delete v1.0.1
檢出標籤:

檢出到特定標籤(只讀狀態)

git checkout v1.1.0

基於標籤建立新分支來修改

git checkout -b new-feature-from-v1.1.0 v1.1.0
專業版本發布流程
步驟8:模擬完整的版本發布
準備發布 v1.2.0:

回到 main 分支

git checkout main

確保是最新版本

git pull origin main

建立發布分支(可選)

git checkout -b release/v1.2.0

更新版本資訊檔案

echo "# 公司網站 v1.2.0

版本資訊

  • 版本號:v1.2.0
  • 發布日期:$(date +%Y-%m-%d)
  • 狀態:穩定版

新增功能

  • ✅ 團隊介紹頁面
  • ✅ 個人資料設定頁面
  • ✅ 最新消息區塊
  • ✅ 響應式設計優化

Bug 修復

  • 🐛 修復聯絡表單驗證
  • 🐛 改善載入效能
  • 🐛 修正導航連結

技術改進

  • 🔧 重構 CSS 架構
  • 🔧 優化程式碼品質
  • 🔧 改善 SEO 設定" > VERSION.md

提交版本資訊

git add VERSION.md
git commit -m "docs: 更新版本資訊至 v1.2.0"

建立發布標籤

git tag -a v1.2.0 -m "Release version 1.2.0 - Major Feature Update

🚀 主要更新

  • 新增團隊介紹頁面完整功能
  • 個人資料管理系統
  • 最新消息發布平台

✨ 功能改進

  • 全新響應式設計
  • 改善使用者體驗
  • 優化網頁效能

🐛 Bug 修復

  • 修復多項使用者回報問題
  • 改善瀏覽器相容性
  • 強化表單驗證機制

📈 技術提升

  • 重構前端架構
  • 優化 CSS 組織
  • 提升程式碼品質

更新詳情請參考 VERSION.md"

推送發布

git push origin release/v1.2.0
git push origin v1.2.0

合併到 main

git checkout main
git merge release/v1.2.0
git push origin main

清理發布分支

git branch -d release/v1.2.0
git push origin --delete release/v1.2.0
版本管理最佳實踐
✅ 標籤命名規則:

正式版本

v1.0.0, v1.1.0, v2.0.0

預發布版本

v1.1.0-alpha.1 # Alpha 版本
v1.1.0-beta.2 # Beta 版本
v1.1.0-rc.1 # Release Candidate

修復版本

v1.0.1, v1.0.2, v1.1.1
✅ 版本發布檢查清單:
發布前檢查:
□ 所有功能測試完成
□ 程式碼 review 通過
□ 更新版本文件
□ 準備 Release Notes
□ 確認向後相容性

發布流程:
□ 建立發布分支
□ 更新版本資訊
□ 建立 annotated tag
□ 推送到遠端
□ 建立 GitHub Release
□ 通知團隊成員

發布後檢查:
□ 驗證部署成功
□ 監控系統狀態
□ 收集使用者回饋
□ 準備下個版本規劃
GitHub Release 整合
在 GitHub 建立 Release:

標籤推送後,在 GitHub 上:

1. 前往 repository 頁面

2. 點選 "Releases"

3. 點選 "Create a new release"

4. 選擇標籤 v1.2.0

5. 填寫 Release 標題和說明

6. 可以附加檔案(如安裝包)

7. 發布 Release

今日重點回顧
• ✅ 理解 Git Tag 的重要性和用途
• ✅ 學會創建輕量和註解標籤
• ✅ 掌握語義化版本控制規則
• ✅ 建立專業的版本發布流程
核心指令總結
git tag # 查看所有標籤
git tag v1.0.0 # 建立輕量標籤
git tag -a v1.0.0 -m "說明" # 建立註解標籤
git push origin v1.0.0 # 推送特定標籤
git push origin --tags # 推送所有標籤
git tag -d v1.0.0 # 刪除本地標籤
git checkout v1.0.0 # 檢出到特定標籤


上一篇
Day 10:Git Rebase 進階操作 - 整理提交歷史
下一篇
Day 12:Fork 與開源貢獻 - 參與開源社群
系列文
30天 Git 版本控制實戰筆記13
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言