Порой у нас в каталоге накапливается много-много 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