В продолжение темы о помощи sh в в решении насущных проблемах программиста, привожу улучшеный пример инициализации структуры фреймворка kohana и некоторых модулей.

Возможно существует более оригинальное решение проблемы создания нескольких репозиториев с разными ветвями, но я использовал для этого Shell.

mkdir $1 #создание дирректории
cd $1 # переход в дирректорию
 
git init #инициализация нового репозитория
 
branche=$2 #установка временной переменной 
 
# Первый параметр - путь к репозиторию
# Второй параметр  - путь к будущему месту положения
# Бранч на который следует переключиться
initmodule() # функция инициализация модуля, производит добавление модуля
{
home_dir=$PWD
git submodule add $1 $2
cd $2
git checkout $3
cd $home_dir
}
 
# инициализация модулей
initmodule git://github.com/kohana/core.git system $branche
initmodule git://github.com/kohana/database.git modules/database $branche
initmodule git://github.com/kohana/orm.git modules/orm $branche
initmodule git://github.com/kohana/pagination.git modules/pagination $branche
initmodule git://github.com/kohana/cache.git modules/cache $branche
initmodule git://github.com/kohana/image.git modules/image $branche
 
git submodule init #инициализация модулей
 
git commit -m 'Added modules structure' #собственно коммит
 
# далее можно расширить скрипт для загрузки других элементов (bootstrap.php, index.php) и так далее

Скрипт следует сохранить в файл, например c названием kohana.sh

Примеры использования:

sh kohana.sh kohana30.local 3.0/master # создание репозитория в папке kohana30.local с бранчем 3.0/master
sh kohana.sh kohana31.local 3.1/master
sh kohana.sh kohana31dev.local 3.1/develop

Как видите все довольно просто, используйте активнее sh скрипты и тогда различного вида монотонная работа станет намного приятнее и быстрее.

Пользователям Windows следует обратить внимание на cgwin и msysgit.