脱离太记的自动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,或者是不做任何操作退出。