c_101/更新并拉取仓库.bat
SpecialX ef8438da42 A 更新并提交本地文件及同步远程仓库脚本
A 本地提交文件.bat
--该脚本用于将本地修改的文件提交到本地 Git 仓库,确保所有更改记录在版本控制中。它帮助开发者快速执行 git add 和 git commit 命令,以便更高效地管理代码更新。
A 更新并拉取仓库.bat
--该脚本用于从远程仓库拉取最新的代码更新,并自动合并到本地分支。它通过执行 git pull 命令,确保本地代码库与远程仓库保持同步,减少代码冲突。
2024-12-17 16:18:23 +08:00

82 lines
1.8 KiB
Batchfile

@echo off
REM 1. 验证当前分支是否为 Dev 分支
echo 正在检查当前分支...
for /f "tokens=*" %%i in ('git rev-parse --abbrev-ref HEAD') do set branch=%%i
echo 当前分支: %branch%
if "%branch%" neq "Dev" (
echo 错误: 当前分支不是 'Dev'。请先切换到 'Dev' 分支。
pause
exit /b 1
)
REM 2. 检查是否有未提交的更改
echo 正在检查是否有未提交的更改...
git diff --quiet
if %errorlevel% neq 0 (
echo 错误: 你有未提交的修改,请先提交或暂存更改。
pause
exit /b 1
)
REM 3. 检查暂存区是否有未提交的更改
echo 正在检查是否有暂存的更改...
git diff --cached --quiet
if %errorlevel% neq 0 (
echo 错误: 你有暂存的更改,请先提交或取消暂存。
pause
exit /b 1
)
REM 4. 检查是否有未跟踪的文件
echo 正在检查是否有未跟踪的文件...
git ls-files --others --exclude-standard
if %errorlevel% == 0 (
echo 错误: 你有未跟踪的文件,请先将文件添加或忽略它们。
pause
exit /b 1
)
REM 5. 拉取远程更新并默认使用远端的文件进行合并
echo 正在从 origin/Dev 拉取更新...
git fetch origin Dev
if %errorlevel% neq 0 (
echo 错误: 无法从 origin/Dev 拉取更新。
pause
exit /b 1
)
echo 正在使用 'theirs' 策略进行合并...
git merge --strategy=recursive --strategy-option=theirs
if %errorlevel% neq 0 (
echo 错误: 合并失败,请解决冲突或检查仓库。
pause
exit /b 1
)
REM 6. 确保 LFS 文件完整
echo 正在拉取 LFS 文件...
git lfs pull
if %errorlevel% neq 0 (
echo 错误: Git LFS 拉取失败,请检查 LFS 配置。
pause
exit /b 1
)
REM 7. 检查仓库完整性
echo 正在检查仓库完整性...
git fsck --full
if %errorlevel% neq 0 (
echo 错误: Git fsck 检测到仓库存在问题,请调查。
pause
exit /b 1
)
REM 8. 暂停执行
echo 所有步骤完成,执行成功。
pause
我希望在第REM4阶段
echo 错误: 你有未跟踪的文件,请先将文件添加或忽略它们。
这里给出选择,是否使用 提交文件.bat
确认的话就是打开当前目录下的该bat文件