From 18d59b71cbe289ba27dd425201d2551f27088037 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=9D=B0?= Date: Wed, 8 Oct 2025 10:49:53 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=BF=AB=E9=80=9F=E6=8F=90=E4=BA=A4=20?= =?UTF-8?q?-=20=E5=91=A8=E4=B8=89=202025/10/08=2010:49:52.83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quick_push.bat | 45 ++++++++++++++++++++++++++++++--------------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/quick_push.bat b/quick_push.bat index ab0603f..d0c8e39 100644 --- a/quick_push.bat +++ b/quick_push.bat @@ -105,9 +105,19 @@ if "%1"=="" ( echo 📝 提交信息: %commit_msg% echo. -:: 检查是否有更改需要提交 -git diff --quiet && git diff --cached --quiet -if %errorlevel% equ 0 ( +:: 检查是否有更改需要提交(含未跟踪文件) +setlocal enabledelayedexpansion + +git diff --quiet +set has_unstaged=%errorlevel% + +git diff --cached --quiet +set has_staged=%errorlevel% + +set has_untracked=0 +for /f "delims=" %%f in ('git ls-files --others --exclude-standard') do set has_untracked=1 + +if %has_unstaged% equ 0 if %has_staged% equ 0 if %has_untracked% equ 0 ( echo ℹ️ 没有检测到任何更改,无需提交 echo. echo ✅ 工作区干净,无需推送 @@ -134,6 +144,7 @@ if %errorlevel% neq 0 ( exit /b 1 ) +git fetch origin main git push origin main if %errorlevel% equ 0 ( echo. @@ -142,18 +153,22 @@ if %errorlevel% equ 0 ( git log --oneline -1 ) else ( echo. - echo ❌ 推送失败,请检查错误信息 - echo 💡 可能的原因: - echo - 网络连接问题 - echo - 远程仓库权限不足 - echo - 分支冲突 - echo - Git认证失败 - echo. - echo 🔧 建议解决方案: - echo 1. 检查Git用户配置: git config --global user.name - echo 2. 检查Git邮箱配置: git config --global user.email - echo 3. 检查远程仓库权限 - echo 4. 尝试重新认证 + echo ❌ 推送失败,尝试自动解决... + echo 🔄 执行: git pull origin main --rebase + git pull origin main --rebase + if %errorlevel% equ 0 ( + echo ✅ 重试推送... + git push origin main + if %errorlevel% equ 0 ( + echo ✅ 推送成功! + echo 📊 最新提交: + git log --oneline -1 + ) else ( + echo ❌ 重试推送失败,请手动处理 + ) + ) else ( + echo ❌ 自动rebase失败,请手动处理冲突后重试 + ) ) echo.