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

相關(guān)新聞

python爬取貝殼中二手房的數(shù)據(jù)

python爬取貝殼中二手房的數(shù)據(jù)

前言:通過代碼爬取貝殼中二手房的數(shù)據(jù),以此給更多需要了解爬蟲或者二手房信息的人提供便利。 第一部分:爬取地址 1.1貝殼首頁地址 jiujiang.ke.com 第二部分:爬取數(shù)據(jù) 2.1輸入要爬多少頁 int(input(輸入一共要多少頁&#xf…

2026/7/29 4:26:03 閱讀更多
從零吃透C語言數(shù)組基礎(chǔ)!告別新手報(bào)錯(cuò),小白看完直接上手

從零吃透C語言數(shù)組基礎(chǔ)!告別新手報(bào)錯(cuò),小白看完直接上手

從零吃透C語言數(shù)組基礎(chǔ)!告別新手報(bào)錯(cuò),小白看完直接上手 ** 學(xué)完C語言函數(shù)之后,我本以為自己已經(jīng)入門了,寫個(gè)簡(jiǎn)單計(jì)算、循環(huán)代碼都不在話下。結(jié)果沒過兩天就遇到了新難題:需要一次性存儲(chǔ)幾十個(gè)學(xué)生的成績,挨…

2026/7/29 4:26:03 閱讀更多
學(xué)習(xí)日記 7.28

學(xué)習(xí)日記 7.28

在機(jī)器學(xué)習(xí)的學(xué)習(xí)之路上,線性回歸和邏輯回歸是兩塊重要的基石。今天我們將通過兩個(gè)實(shí)戰(zhàn)案例,從理論到代碼,全面掌握這兩種算法的應(yīng)用:案例一:多元線性回歸 —— 根據(jù)體重和年齡預(yù)測(cè)血壓收縮壓;案例二&#…

2026/7/29 4:26:03 閱讀更多
AI數(shù)字人口播訓(xùn)練全周期,從唇形同步誤差<0.3幀到通過抖音AIGC白名單認(rèn)證

AI數(shù)字人口播訓(xùn)練全周期,從唇形同步誤差<0.3幀到通過抖音AIGC白名單認(rèn)證

更多請(qǐng)點(diǎn)擊: https://intelliparadigm.com 第一章:AI數(shù)字人口播訓(xùn)練全周期概覽 AI數(shù)字人口播訓(xùn)練是一項(xiàng)融合語音合成、表情驅(qū)動(dòng)、語義理解與多模態(tài)對(duì)齊的系統(tǒng)性工程,其全周期涵蓋數(shù)據(jù)準(zhǔn)備、模型微調(diào)、驅(qū)動(dòng)策略設(shè)計(jì)、實(shí)時(shí)渲染優(yōu)化及效果評(píng)估五…

2026/7/29 4:26:03 閱讀更多
極驗(yàn)3代點(diǎn)選驗(yàn)證碼逆向:從抓包到生成加密w參數(shù)的完整實(shí)戰(zhàn)

極驗(yàn)3代點(diǎn)選驗(yàn)證碼逆向:從抓包到生成加密w參數(shù)的完整實(shí)戰(zhàn)

1. 項(xiàng)目概述:為什么我們要啃下極驗(yàn)3代點(diǎn)選這塊硬骨頭?如果你做過爬蟲,尤其是需要處理登錄、注冊(cè)或者高頻數(shù)據(jù)抓取,那你一定對(duì)“極驗(yàn)”這個(gè)名字不陌生。它就像一道橫在數(shù)據(jù)洪流前的智能閘門,而其中的點(diǎn)選驗(yàn)證碼&#xf…

2026/7/29 4:26:03 閱讀更多
嵌入式設(shè)備與云端安全連接方案及優(yōu)化技巧

嵌入式設(shè)備與云端安全連接方案及優(yōu)化技巧

1. 項(xiàng)目背景與硬件選型解析當(dāng)我們需要在嵌入式設(shè)備與云端建立安全連接時(shí),硬件平臺(tái)的選擇直接影響著整個(gè)系統(tǒng)的性能和可靠性。這個(gè)項(xiàng)目中選用的A5000顯卡和TM4C123GH6PZ微控制器組合,恰好覆蓋了從邊緣計(jì)算到云端協(xié)同的全鏈路需求。NVIDIA RTX A5000作為?!?/p>

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

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

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

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

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

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

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