2011/09/03

Разворачиваем gitosis для совместной работы.

Пишу скорее для себя чтобы было. Все делать буду на Debian. А еще причина написания этого руководства, совершенно туповатые туториалы. Итак нам понадобиться пользователь от которого будем управлять gitosis, я его обозвал gitadmin.
adduser gitadmin
Заходим под gitadmin и начинаем шаманить. Первое устанавливаем - gitosis
mkdir src
cd src/
git clone git://eagain.net/gitosis.git
cd gitosis/ 
sudo python setup.py install
Теперь создаем ключ нашему пользователю, чтобы он мог управлять gitosis.
ssh-keygen -t rsa
Теперь надо создать пользователя git который будет управлять репозиториями
sudo adduser --system --shell /bin/sh --gecos 'git version control' --group --disabled-password --home /home/git git
Записываем ключик
sudo -H -u git gitosis-init < ~/.ssh/id_rsa.pub
Задаем права на хук
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
Теперь проверим из под юзера gitadmin подключение по ssh
ssh git@localhost
После этого нам надо склонировать репозиторий gitosis-admin
git clone git@localhost:gitosis-admin.git
После этого у нас появится репозиторий для управления gitosis. В папке gitosis-admin будет

gitosis.conf // это конфигурационный файл
keydir // это директория где лежат ключи для пользователей
Формат ключей: <имя пользователя>.pub там будет лежать открытый ключ пользователя. Сейчас там есть ключ gitadmin. Добавляем ключи и делаем как обычно в гите :)
git add . 
git commit -am 'add test_project and test_group' 
git push
Вот и все, удачи человеки! Так же спасибо tamerlan311