From c6bdadf16fcd67d2c27cc7d72488c307624c0d10 Mon Sep 17 00:00:00 2001 From: "luk.lu" Date: Thu, 21 Jul 2022 12:11:20 +0800 Subject: [PATCH] 'updated' --- git-pull-all.bat | 2 +- git-push-all.bat | 58 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 git-push-all.bat diff --git a/git-pull-all.bat b/git-pull-all.bat index c9ab851..e118f30 100644 --- a/git-pull-all.bat +++ b/git-pull-all.bat @@ -28,7 +28,7 @@ echo; for /d %%o in (*) do ( @REM windows的链接文件会造成路径错误,从而终止该循环,从而导致下一轮乃至所有循环的工作目录错误。因此要过滤掉 .vscode 这个符号链接目录。 if not %%o == .vscode ( - @REM 每次 git pull 都会造成 .git 目录下某些文件变化,导致云端不断自动同步。因此过滤掉云盘的目录不做更新。 + @REM 如果同时使用了 GIT 和 云盘进行管理,每次 git pull 都会造成 .git 目录下某些文件变化,导致云盘不断自动同步。因此过滤掉云盘的目录不做更新。 echo %%o | findstr "=" >NUL && ( echo !!!!!!!! omitting [%BASEDIR%\%%o] !!!!!!!! echo; diff --git a/git-push-all.bat b/git-push-all.bat new file mode 100644 index 0000000..40fcbd8 --- /dev/null +++ b/git-push-all.bat @@ -0,0 +1,58 @@ +@echo off + +echo *** Testing Path [%1] [D:\faronear] [C:\faronear] [%HOMEDRIVE%%HOMEPATH%\faronear] [../..] + +@ if not "%1" == "" ( + set BASEDIR=%1 +) else (if exist D:\faronear ( + set BASEDIR=D:\faronear +) else (if exist C:\faronear ( + set BASEDIR=C:\faronear +) else (if exist %HOMEDRIVE%%HOMEPATH%\faronear ( + set BASEDIR=%HOMEDRIVE%%HOMEPATH%\faronear +) else ( + set BASEDIR=..\.. +)))) + +if not exist %BASEDIR% ( + echo *** [%BASEDIR%] not exist! Exit now. *** + @ GOTO END +) + +pushd %BASEDIR% +echo *** Current path = [%CD%] *** +echo; + +@REM for /d %%d in (*) do ( pushd %%d & ( for /d %%d in (*) do ( if exist %%d/.git pushd %%d & echo --- git pulling: %%d ... & git pull & popd ) ) & popd ) + +for /d %%o in (*) do ( + @REM windows的链接文件会造成路径错误,从而终止该循环,从而导致下一轮乃至所有循环的工作目录错误。因此要过滤掉 .vscode 这个符号链接目录。 + if not %%o == .vscode ( + @REM 如果同时使用了 GIT 和 云盘进行管理,每次 git push 都会造成 .git 目录下某些文件变化,导致云盘不断自动同步。因此过滤掉云盘的目录不做更新。 + echo %%o | findstr "=" >NUL && ( + echo !!!!!!!! omitting [%BASEDIR%\%%o] !!!!!!!! + echo; + ) || ( + echo ======== entering [%BASEDIR%\%%o] ======== + echo; + pushd %%o + for /d %%g in (*) do ( + if exist %%g\.git ( + pushd %%g + echo ---- git adding/commiting/pushing [%BASEDIR%\%%o\%%g] ---- + git add . && git commit -m 'updated' && git push + echo; + popd + ) + ) + popd + ) + ) +) + +popd + +:END + +pause +