在我的文件夹~/git
中,我有超过20个包含git-repositories的文件夹。
我可以通过运行
cd folder1
git pull
cd ..
cd folder2
git pull
cd ..
# etc
在bash中我也可以用循环来解决它:
for f in $(find . -mindepth 1 -maxdepth 1 -type d);
do
cd ${f};
git pull;
cd..;
done
我想知道,如果有更优雅的方式,例如使用xargs
或-exec
的{{1}}。
答案 0 :(得分:3)
如果没有dir以点开头。
for f in */; do (cd "$f"; git pull); done
或者在〜/ .bashrc中添加一个函数并使用简单的git_pull
:
git_pull()
{
oldwd="$PWD"
cd ~/git
for f in */; do (cd "$f"; git pull); done
cd "$oldwd"
}