Git 批量拉取(git pull)多个仓库 bat脚本实现

鄙人有个习惯,每天上班打开电脑第一件事,就是把所有本地git仓库拉取更新,保证取到最新的代码。
但本地git仓库实在太多,挨个执行 git pull 太麻烦,于是决定写下一个bat脚本,把这种重复的事情交给电脑。

运行前注意

  • 你使用的是 Windows 系统
  • 你需要批量拉取代码的git仓库都在 同一个文件夹下 ,bat脚本也在此文件夹下。
  • 此脚本递归遍历当前路径下的文件夹,直到找到存在 .git 文件的文件夹,然后执行 git pull,然后继续遍历…

git_pull.bat

@echo off
setlocal

@REM normalize the relative path to a shorter absolute path.
pushd "%~dp0"
set repos_path=%CD%
popd

call :find_and_pull %repos_path%
echo. & echo Finished. & pause>nul
goto :EOF

::-------------------------------------
:: @name   find_and_pull
:: @param  %1 base directory to find .git
:: @usage  call :find_and_pull %base_dir%
::-------------------------------------
:find_and_pull
for /d %%i in (%1\*) do (
    cd %%i
    if exist .git (
        echo. & echo [ START git pull FROM ] %%i
        git pull
    ) else (
        call :find_and_pull %%i
    )
)
goto :EOF

你可能感兴趣的:(脚本编程,batch)