diff --git a/git-clone-all.sh b/git-clone-all.sh index 0262445..0c4f7e5 100755 --- a/git-clone-all.sh +++ b/git-clone-all.sh @@ -77,9 +77,9 @@ popd mkdir tuc pushd tuc -git clone https://git.faronear.org/tuc/tisch fork/tisch.git -git clone https://git.faronear.org/tuc/nesh fork/nesh.git -git clone https://git.faronear.org/tuc/nbtc fork/nbtc.git +git clone https://git.faronear.org/tuc/fork-tisch fork/tisch.git +git clone https://git.faronear.org/tuc/fork-nesh fork/nesh.git +git clone https://git.faronear.org/tuc/fork-nbtc fork/nbtc.git git clone https://git.faronear.org/tuc-pex/pex-blog-hexo pex/pex-blog-hexo.git git clone https://git.faronear.org/tuc-pex/pex-chain-geth pex/pex-chain-geth.git diff --git a/git-pull-all.bat b/git-pull-all.bat index 6ad5bca..8a44c25 100644 --- a/git-pull-all.bat +++ b/git-pull-all.bat @@ -34,28 +34,24 @@ 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 pull 都会造成 .git 目录下某些文件变化,导致云盘不断自动同步。因此过滤掉云盘的目录不做更新。 - @REM echo "%%o" | findstr "=" >NUL && ( - @REM echo !!!!!!!! omitting [%FONPATH%\%%o] !!!!!!!! - @REM echo; - @REM ) || ( - echo ======== entering [%FONPATH%\%%o] ======== - echo; - pushd %%o - for /d %%g in (*) do ( - if exist "%%g\.git" ( - pushd %%g - echo ---- git pulling [%FONPATH%\%%o\%%g] ---- - git pull --all - echo; - popd - ) + @REM echo "%%o" | findstr "node_modules" >NUL && ( + @REM echo !!!!!!!! omitting [%FONPATH%\%%o] !!!!!!!! + @REM echo; + @REM ) || ( + echo ======== entering [%FONPATH%\%%o] ======== + echo; + pushd %%o + for /d %%g in (*) do ( + if exist "%%g\.git" ( + pushd %%g + echo ---- git pulling [%FONPATH%\%%o\%%g] ---- + git pull --all + echo; + popd ) - popd - @REM ) - ) + ) + popd + @REM ) ) popd diff --git a/git-pull-all.sh b/git-pull-all.sh index 8754c60..491ec49 100755 --- a/git-pull-all.sh +++ b/git-pull-all.sh @@ -37,7 +37,7 @@ echo "*** Starting from [`pwd`] ***" echo "" # for org in `ls -F | grep '/$' | grep -v '~'` ## 首先过滤出所有子目录,然后过滤出所有不含 ~ 的子目录。注意 for ??? in `ls ???` 是按照空行以及空格进行分割的,因此最后筛选出的目录名不能含有空格,否则就被分割成多个了。 -ls -F | grep '/$' | grep -v '=' | while read org ## 换用这种方法,可以成功过滤出含有空格的完整目录名 +ls -F | grep '/$' | grep -v 'node_modules' | while read org ## 换用这种方法,可以成功过滤出含有空格的完整目录名 do echo "======== entering [$FONPATH/$org] ========" echo "" diff --git a/git-push-all.bat b/git-push-all.bat index 5705f35..fd26ef9 100644 --- a/git-push-all.bat +++ b/git-push-all.bat @@ -41,28 +41,24 @@ 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 目录下某些文件变化,导致云盘不断自动同步。因此过滤掉云盘的目录不做更新。 - @REM echo "%%o" | findstr "=" >NUL && ( - @REM echo !!!!!!!! omitting [%FONPATH%\%%o] !!!!!!!! - @REM echo; - @REM ) || ( - echo ======== entering [%FONPATH%\%%o] ======== - echo; - pushd %%o - for /d %%g in (*) do ( - if exist %%g\.git ( - pushd %%g - echo ---- git commit and push [%FONPATH%\%%o\%%g] ---- - git add . && git commit -m "%COMMIT_MESSAGE%" && git push - echo; - popd - ) + @REM echo "%%o" | findstr "node_modules" >NUL && ( + @REM echo !!!!!!!! omitting [%FONPATH%\%%o] !!!!!!!! + @REM echo; + @REM ) || ( + echo ======== entering [%FONPATH%\%%o] ======== + echo; + pushd %%o + for /d %%g in (*) do ( + if exist %%g\.git ( + pushd %%g + echo ---- git commit and push [%FONPATH%\%%o\%%g] ---- + git add . && git commit -m "%COMMIT_MESSAGE%" && git push + echo; + popd ) - popd - @REM ) - ) + ) + popd + @REM ) ) popd diff --git a/git-push-all.sh b/git-push-all.sh index 4cf210c..c33bc6b 100755 --- a/git-push-all.sh +++ b/git-push-all.sh @@ -45,7 +45,7 @@ fi echo "" # for org in `ls -F | grep '/$' | grep -v '~'` ## 首先过滤出所有子目录,然后过滤出所有不含 ~ 的子目录。注意 for ??? in `ls ???` 是按照空行以及空格进行分割的,因此最后筛选出的目录名不能含有空格,否则就被分割成多个了。 -ls -F | grep '/$' | grep -v '=' | while read org ## 换用这种方法,可以成功过滤出含有空格的完整目录名 +ls -F | grep '/$' | grep -v 'node_modules' | while read org ## 换用这种方法,可以成功过滤出含有空格的完整目录名 do echo "======== entering [$FONPATH/$org] ========" echo ""