脱离太记的自动Git提交和拉取脚本
此脚本适用性待进一步验证
脚本源码
@echo off
if NOT EXIST AutoGit.log (
echo ==============AutoGit Log ============== > AutoGit.log
)
for /d %%i in (%cd%\*) do (
cd %%i
if EXIST .git (
echo %%i
git status
echo.
)
)
cd ..
set /p chosedAction=chose your operation(1.push to... or 2.pull from or 3.do noting)?(1/2/3?)
if "%chosedAction%" == "1" (
echo off
echo ==============Commit Start============== >> AutoGit.log
set d=%date:~0,10%
set t=%time:~0,8%
echo %d% %t% auto commit start... >> AutoGit.log
for /d %%i in (%cd%\*) do (
cd %%i
IF EXIST .git (
echo %%i >> AutoGit.log
git add -A >> AutoGit.log
git commit -m "Bat script auto commit" >> AutoGit.log
git push -u origin main >> AutoGit.log
echo ---------------------------------------- >> AutoGit.log
echo. >> AutoGit.log
)
cd ..
)
echo ==============Commit Ended============== >> AutoGit.log
) else if "%chosedAction%" == "2" (
echo off
echo ==============Pull Start============== >> AutoGit.log
set d=%date:~0,10%
set t=%time:~0,8%
echo %d% %t% auto commit start... >> AutoGit.log
for /d %%i in (%cd%\*) do (
cd %%i
IF EXIST .git (
echo %%i >> AutoGit.log
git fetch --all && git reset --hard origin/main && git pull >> AutoGit.log
echo ---------------------------------------- >> AutoGit.log
echo. >> AutoGit.log
)
cd ..
)
echo ==============Pull Ended============== >> AutoGit.log
) else (
echo Nothing is be excuted.
)
echo Well Done!
pause
脚本说明
脚本会在其所在的文件夹内,查找所有的文件夹,判断是否是git文件夹,如果是的话,则会针对它进行git status
的检查。之后会询问想要进行的操作,是push还是pull,或者是不做任何操作退出。