conventional commits實踐:配合GitHub Tag Action實現(xiàn)自動化版本管理
conventional commits實踐配合GitHub Tag Action實現(xiàn)自動化版本管理【免費下載鏈接】github-tag-actionA Github Action to automatically bump and tag master, on merge, with the latest SemVer formatted version. Works on any platform.項目地址: https://gitcode.com/gh_mirrors/git/github-tag-actionGitHub Tag Action是一款強大的工具能在代碼合并時自動為master分支生成符合SemVer規(guī)范的標(biāo)簽實現(xiàn)自動化版本管理。本文將詳細介紹如何結(jié)合Conventional Commits規(guī)范與GitHub Tag Action輕松搞定項目版本管理。什么是Conventional Commits規(guī)范Conventional Commits規(guī)范是一種基于提交消息的輕量級約定。它規(guī)定了提交消息的格式使得自動化工具能夠據(jù)此確定版本號變更和生成變更日志。遵循該規(guī)范的提交消息通常包含類型、作用域和描述等部分例如feat(pencil): add graphiteWidth option。GitHub Tag Action簡介GitHub Tag Action是一個GitHub Action可在合并代碼到指定分支時自動更新和推送Git標(biāo)簽。它基于SemVer格式化版本號適用于任何平臺。該工具通過分析提交消息來確定版本變更類型如major、minor、patch等并生成相應(yīng)的標(biāo)簽。GitHub Tag Action的主要功能根據(jù)提交消息自動確定版本變更類型生成符合SemVer規(guī)范的標(biāo)簽支持自定義標(biāo)簽前綴、分支規(guī)則等輸出變更日志、新舊版本號等信息快速開始GitHub Tag Action的基本使用要在項目中使用GitHub Tag Action只需在工作流文件中添加以下步驟name: Bump version on: push: branches: - master jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkoutv4 - name: Bump version and push tag id: tag_version uses: mathieudutour/github-tag-actionv6.2 with: github_token: ${{ secrets.GITHUB_TOKEN }} - name: Create a GitHub release uses: ncipollo/release-actionv1 with: tag: ${{ steps.tag_version.outputs.new_tag }} name: Release ${{ steps.tag_version.outputs.new_tag }} body: ${{ steps.tag_version.outputs.changelog }}Conventional Commits與GitHub Tag Action的完美結(jié)合提交消息格式詳解GitHub Tag Action使用semantic-release conventions來解析提交消息默認采用Angular Commit Message Conventions。以下是不同提交消息對應(yīng)的版本變更類型提交消息示例版本變更類型fix(pencil): stop graphite breaking when too much pressure appliedPatch Releasefeat(pencil): add graphiteWidth optionMinor Releaseperf(pencil): remove graphiteWidth optionBREAKING CHANGE: The graphiteWidth option has been removed.Major Release自定義提交規(guī)則如果默認的提交規(guī)則不符合項目需求可以通過custom_release_rules參數(shù)自定義。例如with: custom_release_rules: hotfix:patch,pre-feat:preminor,bug:patch:Bug Fixes,chore:patch:ChoresGitHub Tag Action的高級配置分支管理GitHub Tag Action允許通過參數(shù)指定哪些分支生成正式版本標(biāo)簽?zāi)男┥深A(yù)發(fā)布標(biāo)簽release_branches: 生成正式版本標(biāo)簽的分支默認值為master,mainpre_release_branches: 生成預(yù)發(fā)布版本標(biāo)簽的分支標(biāo)簽自定義可以通過以下參數(shù)自定義生成的標(biāo)簽tag_prefix: 標(biāo)簽前綴默認值為vappend_to_pre_release_tag: 預(yù)發(fā)布標(biāo)簽后綴默認值為分支名create_annotated_tag: 是否創(chuàng)建帶注釋的標(biāo)簽?zāi)J值為false其他實用配置fetch_all_tags: 是否獲取所有標(biāo)簽?zāi)J只獲取最近100個標(biāo)簽dry_run: 僅計算版本和變更日志不實際創(chuàng)建標(biāo)簽default_bump: 當(dāng)沒有明確的提交消息時使用的默認版本變更類型默認值為patch常見問題與解決方案沒有提交指定版本變更時如何處理如果沒有提交指定版本變更GitHub Tag Action會輸出No commit specifies the version bump. Skipping the tag creation.。此時可以通過設(shè)置default_bump參數(shù)來指定默認的版本變更類型。如何獲取生成的版本信息GitHub Tag Action提供了多個輸出參數(shù)可以在后續(xù)步驟中使用new_tag: 新生成的標(biāo)簽new_version: 新生成的版本號不帶前綴previous_tag: 上一個標(biāo)簽release_type: 版本變更類型changelog: 變更日志總結(jié)通過Conventional Commits規(guī)范與GitHub Tag Action的結(jié)合我們可以實現(xiàn)版本管理的自動化減少手動操作提高開發(fā)效率。只需遵循簡單的提交消息規(guī)范GitHub Tag Action就能自動為我們生成版本標(biāo)簽和變更日志讓版本管理變得輕松簡單。要開始使用GitHub Tag Action只需克隆倉庫git clone https://gitcode.com/gh_mirrors/git/github-tag-action然后按照本文介紹的方法進行配置即可。希望本文能幫助你更好地理解和使用Conventional Commits與GitHub Tag Action實現(xiàn)高效的版本管理【免費下載鏈接】github-tag-actionA Github Action to automatically bump and tag master, on merge, with the latest SemVer formatted version. Works on any platform.項目地址: https://gitcode.com/gh_mirrors/git/github-tag-action創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考

相關(guān)新聞

基于金稅四期的財稅風(fēng)控規(guī)則引擎與業(yè)財一體化架構(gòu)實戰(zhàn)

基于金稅四期的財稅風(fēng)控規(guī)則引擎與業(yè)財一體化架構(gòu)實戰(zhàn)

隨著金稅四期全面上線,傳統(tǒng)財稅系統(tǒng)在面對海量高頻風(fēng)險預(yù)警指標(biāo)時,常因數(shù)據(jù)孤島和規(guī)則硬編碼導(dǎo)致合規(guī)響應(yīng)滯后。企業(yè)在進行IPO財務(wù)規(guī)范或高企申報時,業(yè)財數(shù)據(jù)不一致往往成為致命瓶頸。本文將結(jié)合高頓咨詢在B端財稅數(shù)字化領(lǐng)域的工程實踐&#…

2026/7/29 9:26:11 閱讀更多
國內(nèi)專業(yè)網(wǎng)站建設(shè)公司盤點,2026 精選十家高口碑網(wǎng)站設(shè)計公司全方位梳理

國內(nèi)專業(yè)網(wǎng)站建設(shè)公司盤點,2026 精選十家高口碑網(wǎng)站設(shè)計公司全方位梳理

一、2026 網(wǎng)站建設(shè)行業(yè)現(xiàn)狀深度解析生成式 AI、GEO 搜索優(yōu)化、llms 協(xié)議規(guī)范、多系統(tǒng)數(shù)據(jù)互通等新技術(shù)落地,市場對網(wǎng)站建設(shè)服務(wù)商的能力要求發(fā)生根本性分層。中大型企業(yè)、上市公司、出海品牌更青睞兼具行業(yè)深耕、定制開發(fā)、AI 營銷配套、長期運維迭代能力的綜合服務(wù)…

2026/7/29 9:26:11 閱讀更多
面試官大笑:“一個任務(wù)拆給 5 個 Subagent 并行跑,不比 1 個快 5 倍?“我搖頭:“快不了,還可能更慢“

面試官大笑:“一個任務(wù)拆給 5 個 Subagent 并行跑,不比 1 個快 5 倍?“我搖頭:“快不了,還可能更慢“

前兩個月,我在重構(gòu) AlgoMooc 網(wǎng)站過程中,發(fā)現(xiàn)一個問題:在 Claude Code 里把一個任務(wù)拆給 5 個 Subagent 并行跑,結(jié)果可能比 1 個 agent 從頭干到尾還慢? 大多數(shù)人的第一反應(yīng)是反過來的:活是并行干的&#…

2026/7/29 0:15:24 閱讀更多
# 鴻蒙 HarmonyOS 應(yīng)用開發(fā)實戰(zhàn)(第25期)|骰子(Dice Roller)— Unicode 符號與動畫渲染精講

# 鴻蒙 HarmonyOS 應(yīng)用開發(fā)實戰(zhàn)(第25期)|骰子(Dice Roller)— Unicode 符號與動畫渲染精講

一、應(yīng)用概述 骰子(Dice Roller) 是一款經(jīng)典的休閑娛樂應(yīng)用,模擬了真實擲骰子的過程。應(yīng)用投擲兩個骰子(六面標(biāo)準骰),使用 Unicode 骰面符號直觀展示每個骰子的點數(shù),并伴有快速滾動的動畫效果?!?/p>

2026/7/29 0:15:24 閱讀更多