拉几个git-repository的更改

时间:2015-01-05 10:14:03

标签: git bash git-pull

在我的文件夹~/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}}。

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"
}