ef8438da42
A 本地提交文件.bat --该脚本用于将本地修改的文件提交到本地 Git 仓库,确保所有更改记录在版本控制中。它帮助开发者快速执行 git add 和 git commit 命令,以便更高效地管理代码更新。 A 更新并拉取仓库.bat --该脚本用于从远程仓库拉取最新的代码更新,并自动合并到本地分支。它通过执行 git pull 命令,确保本地代码库与远程仓库保持同步,减少代码冲突。
83 lines
1.9 KiB
Batchfile
83 lines
1.9 KiB
Batchfile
@echo off
|
|
|
|
REM 1. 获取所有未跟踪或者修改的文件
|
|
echo 正在获取未跟踪或修改的文件...
|
|
setlocal enabledelayedexpansion
|
|
|
|
REM 清空变量
|
|
set "modified_files="
|
|
set "untracked_files="
|
|
|
|
REM 收集修改的文件
|
|
for /f "tokens=*" %%i in ('git ls-files --modified') do (
|
|
echo 修改的文件: %%i
|
|
set "modified_files=!modified_files! %%i"
|
|
)
|
|
|
|
REM 收集未跟踪的文件
|
|
for /f "tokens=*" %%i in ('git ls-files --others --exclude-standard') do (
|
|
echo 未跟踪的文件: %%i
|
|
set "untracked_files=!untracked_files! %%i"
|
|
)
|
|
|
|
REM 2. 获取当前 Git 用户名
|
|
for /f "tokens=*" %%u in ('git config user.name') do set "username=%%u"
|
|
echo 当前 Git 用户名是: %username%
|
|
|
|
REM 3. 创建两个列表来存储文件
|
|
set "invalid_files="
|
|
set "valid_files="
|
|
|
|
REM 4. 检查文件路径是否符合要求
|
|
echo 正在检查文件路径...
|
|
for %%f in (!modified_files! !untracked_files!) do (
|
|
echo %%f | findstr /i "Content/PrivateCommonLiberal/%username%" >nul
|
|
if errorlevel 1 (
|
|
echo 文件未通过检查: %%f
|
|
set "invalid_files=!invalid_files! %%f"
|
|
) else (
|
|
echo 文件通过检查: %%f
|
|
set "valid_files=!valid_files! %%f"
|
|
)
|
|
)
|
|
|
|
REM 5. 检查未通过文件列表
|
|
if not "!invalid_files!"=="" (
|
|
echo 推送失败:以下文件不符合要求,请检查:
|
|
for %%f in (!invalid_files!) do echo %%f
|
|
|
|
echo.
|
|
set /p "confirm=是否忽略这些文件并继续提交?(y/n): "
|
|
if /i "!confirm!"=="y" (
|
|
echo 正在丢弃未通过的文件更改...
|
|
for %%f in (!invalid_files!) do (
|
|
git reset "%%f" >nul 2>&1
|
|
git checkout -- "%%f" >nul 2>&1
|
|
git clean -f "%%f" >nul 2>&1
|
|
)
|
|
) else (
|
|
echo 操作已取消。
|
|
pause
|
|
exit /b 1
|
|
)
|
|
)
|
|
|
|
REM 6. 输入提交信息
|
|
echo 所有文件符合要求,准备提交...
|
|
set /p "title=请输入提交标题:"
|
|
set /p "details=请输入提交细节:"
|
|
|
|
REM 7. 提交通过检查的文件
|
|
for %%f in (!valid_files!) do (
|
|
git add "%%f"
|
|
)
|
|
git commit -m "%title%" -m "%details%"
|
|
if %errorlevel% neq 0 (
|
|
echo 错误: 提交失败,请检查是否有更改。
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo 提交成功!
|
|
pause
|