批量更新Git项目脚本

在平时的工作中,遇到一些优秀的开源项目,如volley、picasso、okhttp等,如果想阅读它的源代码,我通常都会clone项目到本地的GitHub文件夹,这样大神们后面再提交更新的话,只需要git pull更新一下本地的项目就能做到和远程仓库的代码同步了。可是时间长了就会遇到一个问题,如果GitHub文件夹里的项目太多,更新的话每个文件夹进去执行git pull将会是一件很麻烦的事。于是,花了几分钟,写了个批量更新的脚本。

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/sh
for dir in $(ls -d */)
do
cd $dir
echo "into $dir"
if [ -d ".git" ]; then
git pull
elif [ -d ".svn" ]; then
svn update
fi
cd ..
done

代码比较简单,就是遍历文件夹,发现项目目录下有.git文件夹,则执行git pull。很容易理解。

还加入了对svn项目的支持。命名为update.sh,放到GitHub文件夹,添加执行权限,执行./update.sh就可以了。