Цель
Я бы хотел сделать ветку sh, только если она отличается от местного мастера. В частности, я не хочу создавать ветку sh, если она указывает на тот же коммит, что и локальный мастер.
Справочная информация
В моей компании сотни git репозиториев, и мы не используем git подмодули, поэтому для очистки всей системы у меня есть очень простой bash скрипт:
for gitdir in `find ./ -name .git|sort`;
do
workdir=${gitdir%/*};
cd $workdir
eval "$*"
cd $BASE_DIR
done
, который я запускаю так:
./for_each_repo.sh 'git checkout -b <bname> && <some command> && git commit -m <message>''
Тогда я могу внести некоторые другие изменения в репозитории.
Наконец, я запускаю:
./for_each_repo.sh 'git push origin <bname>'
Но его, очевидно ..., толкает также "пустые" ветви (то есть, где я просто создал ветку, но не зафиксировал ее).