修正脚本:修复 PowerShell 和批处理脚本中的中文乱码问题

This commit is contained in:
2026-01-27 15:53:48 +08:00
parent a0b05812d3
commit fa0be96004
2 changed files with 14 additions and 14 deletions

View File

@@ -1,10 +1,10 @@
@echo off @echo off
setlocal enabledelayedexpansion setlocal enabledelayedexpansion
:: 切换到项目根目录 :: 切换到项目根目录
cd /d %~dp0.. cd /d %~dp0..
:: 获取版本号 :: 获取版本号
set TAG_NAME=%1 set TAG_NAME=%1
if "%TAG_NAME%"=="" ( if "%TAG_NAME%"=="" (
@@ -12,14 +12,14 @@ if "%TAG_NAME%"=="" (
exit /b 1 exit /b 1
) )
:: 确保在 master 分支 :: 确保在 master 分支
for /f "tokens=*" %%i in ('git rev-parse --abbrev-ref HEAD') do set CURRENT_BRANCH=%%i for /f "tokens=*" %%i in ('git rev-parse --abbrev-ref HEAD') do set CURRENT_BRANCH=%%i
if not "%CURRENT_BRANCH%"=="master" ( if not "%CURRENT_BRANCH%"=="master" (
echo Error: Must be on master branch to tag. Current branch: %CURRENT_BRANCH% echo Error: Must be on master branch to tag. Current branch: %CURRENT_BRANCH%
exit /b 1 exit /b 1
) )
:: 检查是否有未提交的代码 :: 检查是否有未提交的代码
set CHANGES= set CHANGES=
for /f "tokens=*" %%i in ('git status --porcelain') do set CHANGES=%%i for /f "tokens=*" %%i in ('git status --porcelain') do set CHANGES=%%i
if not "%CHANGES%"=="" ( if not "%CHANGES%"=="" (
@@ -27,12 +27,12 @@ if not "%CHANGES%"=="" (
exit /b 1 exit /b 1
) )
:: 拉取最新代码 :: 拉取最新代码
echo Updating master branch... echo Updating master branch...
git pull origin master git pull origin master
if %errorlevel% neq 0 exit /b %errorlevel% if %errorlevel% neq 0 exit /b %errorlevel%
:: 检查本地和远端是否一致 :: 检查本地和远端是否一致
for /f "tokens=*" %%i in ('git rev-parse @') do set LOCAL=%%i for /f "tokens=*" %%i in ('git rev-parse @') do set LOCAL=%%i
for /f "tokens=*" %%i in ('git rev-parse @{u}') do set REMOTE=%%i for /f "tokens=*" %%i in ('git rev-parse @{u}') do set REMOTE=%%i
@@ -41,7 +41,7 @@ if not "%LOCAL%"=="%REMOTE%" (
exit /b 1 exit /b 1
) )
:: 创建并推送 tag :: 创建并推送 tag
echo Creating tag %TAG_NAME%... echo Creating tag %TAG_NAME%...
git tag -f "%TAG_NAME%" git tag -f "%TAG_NAME%"
if %errorlevel% neq 0 exit /b %errorlevel% if %errorlevel% neq 0 exit /b %errorlevel%

View File

@@ -1,8 +1,8 @@
# 切换到项目根目录 # 切换到项目根目录
$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Definition $ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Definition
if ($ScriptDir) { Set-Location (Join-Path $ScriptDir "..") } if ($ScriptDir) { Set-Location (Join-Path $ScriptDir "..") }
# 获取版本号 # 获取版本号
$TagName = $args[0] $TagName = $args[0]
if (-not $TagName) { if (-not $TagName) {
@@ -10,26 +10,26 @@ if (-not $TagName) {
exit 1 exit 1
} }
# 确保在 master 分支 # 确保在 master 分支
$CurrentBranch = git rev-parse --abbrev-ref HEAD $CurrentBranch = git rev-parse --abbrev-ref HEAD
if ($CurrentBranch -ne "master") { if ($CurrentBranch -ne "master") {
Write-Host "Error: Must be on master branch to tag. Current branch: $CurrentBranch" -ForegroundColor Red Write-Host "Error: Must be on master branch to tag. Current branch: $CurrentBranch" -ForegroundColor Red
exit 1 exit 1
} }
# 检查是否有未提交的代码 # 检查是否有未提交的代码
$Changes = git status --porcelain $Changes = git status --porcelain
if ($Changes) { if ($Changes) {
Write-Host "Error: You have uncommitted changes. Please commit or stash them first." -ForegroundColor Red Write-Host "Error: You have uncommitted changes. Please commit or stash them first." -ForegroundColor Red
exit 1 exit 1
} }
# 拉取最新代码 # 拉取最新代码
Write-Host "Updating master branch..." Write-Host "Updating master branch..."
git pull origin master git pull origin master
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
# 检查本地和远端是否一致 # 检查本地和远端是否一致
$Local = git rev-parse @ $Local = git rev-parse @
$Remote = git rev-parse @{u} $Remote = git rev-parse @{u}
@@ -38,7 +38,7 @@ if ($Local -ne $Remote) {
exit 1 exit 1
} }
# 创建并推送 tag # 创建并推送 tag
Write-Host "Creating tag $TagName..." Write-Host "Creating tag $TagName..."
git tag -f "$TagName" git tag -f "$TagName"
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }