这里是 PowerShell 脚本用于生成 Git 版本控制的简体中文翻译:
# 设置输出编码
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
# 询问提交类型
Write-Host "提交类型"
Write-host "0 - 初始提交"
Write-Host "1 - 功能"
Write-Host "2 -_bugfix"
Write-Host "3 - 发布"
Write-Host "4 - 文档"
# 获取提交类型
$tipoOpcao = Read-Host "选择选项 (0/1/2/3/4)"
# 判断提交类型
switch ($tipoOpcao) {
"0" { $tipo = "初始提交" }
"1" { $tipo = "功能" }
"2" { $tipo = "_bugfix" }
"3" { $tipo = "发布" }
"4" { $tipo = "文档" }
default {
Write-Host "无效的选项!"
exit
}
}
# 提交消息
$mensagem = Read-Host "输入提交消息"
# 提交代码
git add .
git commit -m "[$tipo] - $mensagem"
# 询问是否生成版本
$gerarVersao = Read-Host "生成版本?(y/n)"
# 判断是否生成版本
if ($gerarVersao -eq "y") {
# 版本类型
Write-Host "版本类型"
Write-Host "0 - 初始版本 (0.0.1)"
Write-Host "1 - 发布 (主版本)"
Write-Host "2 - 功能 (次版本)"
Write-Host "3 - _bugfix (修复版本)"
# 获取版本类型
$versaoTipo = Read-Host "选择 (0/1/2/3)"
# 获取最新的标签
$ultimaTag = git describe --tags --abbrev=0 2> $null
# 判断版本类型
if ($versaoTipo -eq "0") {
$novaVersao = "0.0.1"
} else {
# 判断是否有最新的标签
if (-not $ultimaTag) {
$major = 0
$minor = 0
$patch = 0
} else {
$versao = $ultimaTag.TrimStart("v")
$partes = $versao.Split(".")
$major = [int]$partes[0]
$minor = [int]$partes[1]
$patch = [int]$partes[2]
}
# 增加版本号
switch ($versaoTipo) {
"1" {
$major++
$minor = 0
$patch = 0
}
"2" {
$minor++
$patch = 0
}
"3" {
$patch++
}
default {
Write-Host "无效的选项!"
exit
}
}
$novaVersao = "$major.$minor.$patch"
}
# 设置标签
$tag = "v$novaVersao"
# 备注
Write-Host ""
Write-Host "输入版本说明(每行一个)。"
Write-Host "按回车以结束。"
# 获取备注
$notas = @()
while ($true) {
$linha = Read-Host "-"
# 判断是否结束
if ([string]::IsNullOrWhiteSpace($linha)) {
break
}
# 添加备注
$notas += "- $linha"
}
# 创建或更新 CHANGELOG 文件
$changelogPath = "CHANGELOG.md"
# 设置内容
$conteudoNovaVersao = "## $tag`n`n" + ($notas -join "`n") + "`n`n"
# 判断是否存在旧版本
if (Test-Path $changelogPath) {
$conteudoAntigo = Get-Content $changelogPath -Raw
$novoConteudo = $conteudoNovaVersao + $conteudoAntigo
} else {
# 创建新 changelog 文件
$novoConteudo = "# Changelog`n`n" + $conteudoNovaVersao
}
# 设置文件内容
Set-Content -Path $changelogPath -Value $novoConteudo -Encoding UTF8
# 提交 CHANGELOG 文件
git add .
git commit -m "CHANGELOG.md 更新为 $tag"
# 设置标签
git tag $tag
git push origin $tag
}
# 最终推送
git push
这是一个 PowerShell 脚本,用于生成 Git 版本控制的简体中文翻译。它支持 Commit、版本类型和更新 CHANGELOG 的功能。
评论 (0)