diff --git a/Update Upm.bat b/Update Upm.bat index 8117725..2f6c0c8 100644 --- a/Update Upm.bat +++ b/Update Upm.bat @@ -31,33 +31,63 @@ set /p Flg=确认提交的版本号%version%,是否开始提交(y/n) -------- IF "%Flg%" equ "y" ( echo 开始提交,请勿关闭该窗口! + :: Force switch to master first + git checkout -f master + :: Delete local upm branch if exists git branch -D upm 2>nul :: Create new upm branch from current Assets folder git subtree split --prefix=Assets --branch upm + if %errorlevel% neq 0 ( + echo 错误:创建upm分支失败! + goto :END + ) :: Force update local upm branch with remote changes git fetch origin upm - git checkout upm + git checkout -f upm git reset --hard origin/upm :: Create new subtree split - git checkout master + git checkout -f master git subtree split --prefix=Assets --branch upm-temp :: Apply new changes and force push - git checkout upm + git checkout -f upm git merge upm-temp --allow-unrelated-histories -X theirs git branch -D upm-temp - :: Create and push tag + :: Create and push tag with explicit steps + echo 创建并推送tag %version%... + git tag -d %version% 2>nul git tag %version% upm - git push -f origin upm --tags + if %errorlevel% neq 0 ( + echo 错误:创建tag失败! + git checkout -f master + goto :END + ) - :: Return to original branch - git checkout master - GOTO :END + :: Push changes and tags separately + echo 推送upm分支... + git push -f origin upm + if %errorlevel% neq 0 ( + echo 错误:推送upm分支失败! + git checkout -f master + goto :END + ) + + echo 推送tag... + git push origin %version% + if %errorlevel% neq 0 ( + echo 错误:推送tag失败! + git tag -d %version% + git checkout -f master + goto :END + ) + + :: Return to master branch + git checkout -f master ) :END