feat: 娣诲姞澶氫釜鏂板姛鑳藉拰淇 - 鍖呮嫭鐢ㄦ埛绠$悊銆佹暟鎹簱杩佺Щ銆丟it鎺ㄩ€佸伐鍏风瓑
This commit is contained in:
@@ -200,18 +200,56 @@ echo ✅ 提交成功
|
||||
echo.
|
||||
echo [4/4] 推送到远程仓库...
|
||||
|
||||
:: 获取当前分支名称(在延迟变量扩展内)
|
||||
set current_branch=
|
||||
for /f "tokens=*" %%b in ('git branch --show-current 2^>nul') do set current_branch=%%b
|
||||
|
||||
if "!current_branch!"=="" (
|
||||
echo ❌ 无法获取当前分支名称
|
||||
echo 尝试使用默认分支 main...
|
||||
set current_branch=main
|
||||
) else (
|
||||
echo 📍 当前分支: !current_branch!
|
||||
)
|
||||
|
||||
echo.
|
||||
|
||||
:: 先尝试拉取最新更改
|
||||
echo 🔄 检查远程更新...
|
||||
git fetch origin main
|
||||
if %errorlevel% neq 0 (
|
||||
echo ⚠️ 无法获取远程更新,继续推送...
|
||||
git fetch origin !current_branch! >nul 2>&1
|
||||
set fetch_result=!errorlevel!
|
||||
if !fetch_result! neq 0 (
|
||||
echo ⚠️ 无法获取远程更新,尝试获取所有分支...
|
||||
git fetch origin >nul 2>&1
|
||||
set fetch_all_result=!errorlevel!
|
||||
if !fetch_all_result! neq 0 (
|
||||
echo ⚠️ 无法获取远程更新,继续推送...
|
||||
) else (
|
||||
echo ✅ 远程更新检查完成
|
||||
)
|
||||
) else (
|
||||
echo ✅ 远程更新检查完成
|
||||
)
|
||||
|
||||
:: 推送到远程
|
||||
git push origin main
|
||||
if %errorlevel% neq 0 (
|
||||
:: 检查远程分支是否存在,如果不存在则设置上游
|
||||
echo 🔍 检查远程分支状态...
|
||||
git ls-remote --heads origin !current_branch! >nul 2>&1
|
||||
set remote_exists=!errorlevel!
|
||||
set push_result=0
|
||||
|
||||
if !remote_exists! equ 0 (
|
||||
echo 远程分支 !current_branch! 已存在
|
||||
:: 推送到远程(分支已存在)
|
||||
git push origin !current_branch!
|
||||
set push_result=!errorlevel!
|
||||
) else (
|
||||
echo 远程分支 !current_branch! 不存在,将创建并设置上游
|
||||
:: 推送到远程并设置上游(分支不存在)
|
||||
git push -u origin !current_branch!
|
||||
set push_result=!errorlevel!
|
||||
)
|
||||
|
||||
if !push_result! neq 0 (
|
||||
echo ❌ 推送失败
|
||||
echo.
|
||||
echo 💡 可能的原因:
|
||||
@@ -221,18 +259,20 @@ if %errorlevel% neq 0 (
|
||||
echo - 需要先拉取远程更改
|
||||
echo.
|
||||
echo 🔧 尝试自动解决冲突...
|
||||
git pull origin main --rebase
|
||||
if %errorlevel% equ 0 (
|
||||
git pull origin !current_branch! --rebase
|
||||
set pull_result=!errorlevel!
|
||||
if !pull_result! equ 0 (
|
||||
echo ✅ 冲突已解决,重新推送...
|
||||
git push origin main
|
||||
if %errorlevel% equ 0 (
|
||||
git push origin !current_branch!
|
||||
set final_push_result=!errorlevel!
|
||||
if !final_push_result! equ 0 (
|
||||
echo ✅ 推送成功!
|
||||
) else (
|
||||
echo ❌ 重新推送失败
|
||||
echo.
|
||||
echo 🔧 建议手动解决:
|
||||
echo 1. 运行: git pull origin main
|
||||
echo 2. 解决冲突后运行: git push origin main
|
||||
echo 1. 运行: git pull origin !current_branch!
|
||||
echo 2. 解决冲突后运行: git push origin !current_branch!
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
@@ -240,8 +280,8 @@ if %errorlevel% neq 0 (
|
||||
echo ❌ 无法自动解决冲突
|
||||
echo.
|
||||
echo 🔧 建议手动解决:
|
||||
echo 1. 运行: git pull origin main
|
||||
echo 2. 解决冲突后运行: git push origin main
|
||||
echo 1. 运行: git pull origin !current_branch!
|
||||
echo 2. 解决冲突后运行: git push origin !current_branch!
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user