Files
assist/fix_git_push.bat
Jeason 20c5ce355a fix: 修复前端导航和页面跳转问题
- 添加统一的导航菜单到所有页面
- 修复页面路由映射和高亮状态
- 创建 navigation.js 统一管理页面跳转
- 添加 test_navigation.py 路由测试工具
- 支持仪表板、预警管理、智能对话、HTTP对话页面间无缝切换

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-07 10:12:17 +08:00

162 lines
4.1 KiB
Batchfile
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@echo off
setlocal enabledelayedexpansion
chcp 65001 >nul 2>&1
echo ========================================
echo Git推送问题诊断和修复工具
echo ========================================
echo.
:: 1. 检查Git状态
echo [1] 检查Git状态...
git status >nul 2>&1
if %errorlevel% neq 0 (
echo ? Git未初始化或不可用
echo 请确保:
echo 1. 已安装Git
echo 2. 当前目录是Git仓库
pause
exit /b 1
)
echo ? Git状态正常
echo.
:: 2. 检查远程仓库配置
echo [2] 检查远程仓库配置...
git remote -v >nul 2>&1
if %errorlevel% neq 0 (
echo ? 未配置远程仓库
echo 请先运行: git remote add origin ^<仓库地址^>
pause
exit /b 1
)
echo ? 远程仓库配置正常
git remote -v
echo.
:: 3. 检查当前分支
echo [3] 检查当前分支...
for /f "tokens=*" %%b in ('git branch --show-current 2^>nul') do set current_branch=%%b
if "!current_branch!"=="" (
echo ? 无法获取当前分支信息
pause
exit /b 1
)
echo 当前分支: !current_branch!
echo.
:: 4. 检查是否有未提交的更改
echo [4] 检查未提交的更改...
git status --porcelain >nul 2>&1
if %errorlevel% equ 0 (
git status --porcelain | findstr /r "." >nul
if !errorlevel! equ 0 (
echo ?? 有未提交的更改
set /p commit="是否先提交更改? (y/n): "
if /i "!commit!"=="y" (
git add .
set /p msg="请输入提交信息: "
if "!msg!"=="" set msg=自动提交
git commit -m "!msg!"
if !errorlevel! neq 0 (
echo ? 提交失败
pause
exit /b 1
)
)
)
)
echo ? 暂存区状态正常
echo.
:: 5. 尝试获取远程分支信息
echo [5] 获取远程分支信息...
git fetch origin >nul 2>&1
if %errorlevel% neq 0 (
echo ? 无法连接到远程仓库
echo.
echo 可能的原因:
echo 1. 网络连接问题
echo 2. 远程仓库地址错误
echo 3. 需要认证请检查是否已配置SSH密钥或Token
echo.
echo 远程仓库地址:
git config --get remote.origin.url
echo.
echo 解决建议:
echo 1. 检查网络连接
echo 2. 验证远程仓库地址
echo 3. 配置SSH密钥或访问令牌
pause
exit /b 1
)
echo ? 远程仓库连接成功
echo.
:: 6. 检查分支跟踪关系
echo [6] 检查分支跟踪关系...
git branch -vv
echo.
:: 7. 尝试推送到远程
echo [7] 尝试推送...
echo 当前分支: !current_branch!
echo.
:: 检查远程是否存在该分支
git ls-remote --heads origin !current_branch! >nul 2>&1
if %errorlevel% equ 0 (
echo 远程分支 !current_branch! 已存在
echo.
echo 尝试使用当前分支名称推送...
git push origin !current_branch!
if !errorlevel! neq 0 (
echo.
echo ? 推送失败,尝试拉取最新更改...
git pull origin !current_branch! --rebase
if !errorlevel! equ 0 (
echo ? 重新尝试推送...
git push origin !current_branch!
) else (
echo ? 拉取失败,请检查冲突
pause
exit /b 1
)
)
) else (
echo 远程分支 !current_branch! 不存在
echo.
echo 尝试设置上游并推送...
git push -u origin !current_branch!
)
if %errorlevel% equ 0 (
echo.
echo ? 推送成功!
) else (
echo.
echo ? 推送失败
echo.
echo ? 常见问题和解决方案:
echo.
echo 1. 如果是认证问题:
echo - 检查SSH密钥: ssh -T git@github.com (GitHub) 或 ssh -T git@gitee.com (Gitee)
echo - 或使用HTTPS + Token方式
echo.
echo 2. 如果是分支冲突:
echo - 运行: git pull origin !current_branch! --rebase
echo - 解决冲突后: git push origin !current_branch!
echo.
echo 3. 如果远程分支名称不同:
echo - 检查远程分支: git branch -r
echo - 可能需要推送主分支: git push origin main 或 git push origin master
echo.
pause
exit /b 1
)
echo.
echo ========================================
echo ? 诊断完成!
echo ========================================
pause