Обновление нескольких git-репозитариев в папке

08 Mar 2016

2016-03-08-22:48:31_580x134 Порой у нас в каталоге накапливается много-много git-репозитариев, которые хочется обновить в один заход. Для этого есть маленький скрипт, который обновляет все репозитарии, которые сможет найти в папке, переданной в качестве аргумента.

#!/bin/bash

if test "$#" -ne 1; then  
 echo "usage: $0 \<dirname\>"  
 echo "Find and update all git repos in specified folder"  
 exit 1  
fi

if [-d $1]; then  
 find $1 -type d -name .git | xargs -n 1 dirname | sort | while read line; do echo "Update repo $line" && pushd `pwd` \> /dev/null && cd $line && git pull && popd \> /dev/null; done  
else  
 echo "\"$1\" does not exists"  
fi

Использование очень простое

$ gitup ~/projects

Репозитарий на github.