更新路径下所有git项目和项目中的子模块

在给定目录的所有子文件夹下执行git pull,如果你签出的项目都在一个或几个目录下, 例如,你使用git clone命令签出了4个项目到F:\GIT目录下:

F:\GIT

├─JQuerySourceCode

├─pull-all-git-project

├─RapidValidation

└─TableKnight

可以在脚本的配置变量中添加路径:F:\GIT,执行脚本就可以依次在每个目录中进行下列操作,先更新项目, 如果项目包含子模块再更新所有子模块。注意:更新默认的分支都是主分支

# 下面两个命令在项目中执行
git pull origin master
git submodule foreach pull git origin master

脚本提供了Windows版的bat文件和Linux下的Bash文件,两个脚本行为一样,由于脚本语言的差异, 配置方式有一些不同,具体请参考README。如果发现子模块无法更新,请手动在项目中执行下面两个命令, 然后再进行尝试:

git submodule init
git submodule update


—  原创作品许可 — 署名-非商业性使用-禁止演绎 3.0 未本地化版本 — CC BY-NC-ND 3.0   —