批量拉取所有子目录 git pull --all

Posted 笑虾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量拉取所有子目录 git pull --all相关的知识,希望对你有一定的参考价值。

递归 git pull --all 所有子文件夹

当项目太多时,全都拉取一下,也很麻烦,直接用这个批处理就好了。

:: 递归遍历当前路径下所有目录,执行 git pull --all
:: 2022-11-25 笑虾

@ECHO OFF

TITLE  批量 git pull —— 耀眼的笨笨
:: 使用COLOR命令对控制台输出颜色进行更改
COLOR 2f
CLS

:: 文件夹,拖拽到批处理上即可获取路径。
SET CURRENT_DIR=%~1

:: 如果没有获取到,则获取当前路径
if not defined CURRENT_DIR (
  SET CURRENT_DIR=%~dp0
)

ECHO ####################################################
ECHO #                                                  
ECHO #  当前目录: 	%CURRENT_DIR%                       
ECHO #  开始批量执行	git pull --all                  
ECHO #                                                  
ECHO ####################################################
ECHO.

:: dir 递归查询当前目录下所有子目录,每个结果赋给 i
:: /b  使用空格式(没有标题信息或摘要,只有名称)。
:: /s  显示指定目录和所有子目录中的文件。
:: /ad a显示具有指定属性的文件, d目录
for /f  %%i in ('dir /b /s /ad "%CURRENT_DIR%"') do (
	:: 如果指定目录下包含 .git 目录,执行 pull
	IF EXIST %%i\\.git ( 
		echo ===============================================
		echo 开始拉取: %%i
		echo on
        git -C "%%i" pull --all
		echo.
		echo.
		echo off
    )
)

echo 批量拉取完成!
pause

参考资料

笑虾:BAT 学习笔记
博客园-代码诠释的世界-【win10】批量更新某个目录下的git项目
博客园-QIAOXINGXING001-批量清理java源码的target目录

以上是关于批量拉取所有子目录 git pull --all的主要内容,如果未能解决你的问题,请参考以下文章

git在windows下切换(checkout)分支拉取(pull)最新代码

GIT05_远程仓库操作查看添加克隆clone移除rm拉取pull推送push

Git pull(拉取),push(上传)命令整理(详细)

“git pull --all”可以更新我所有的本地分支吗?

git不能拉取文件

Git----拉取远程分支,git pull,git rebase,git pull --rebase的区别