Организация работы с репозитарием GIT
Содержание |
Цель
Организовать работу группы людей в Git с доступом к хранилищу через протокол ssh, управление пользовательским доступом будем управления с помощью Gitolite. Пользовательские ОС семейства Windows, доступ к хранилищу будет осуществляться с помощью программы Git Extensions.
Требования
В панели управления должен быть активирован доступ к серверу по протоколу SSH. О возможности включения этой опции Вы можете запросить тех.поддержку.
Подготовка
Основной пользователь FTP для которого активирован SSH у нас testvh22, сервер виртуального хостинга vh22.hosting.ua. Только основной пользователь имеет возможность подключаться по SSH, FTP субаккаунты подключаться не могут. В дальнейшем все пользователи Вашего репозитария будут подключаться с именем основного пользователя и только по ключу gitolite будет определять какой из пользователей репозитария внес изменения.
-bash-3.2$ mkdir ~/.ssh/ -bash-3.2$ chmod 0700 ~/.ssh/ -bash-3.2$ touch ~/.ssh/authorized_keys -bash-3.2$ chmod 0600 ~/.ssh/authorized_keys -bash-3.2$ -bash-3.2$ ssh-keygen -t rsa -b 4096 -f ~/.ssh/testvh22.key -C testvh22 -bash-3.2$ chmod 0600 /hsphere/local/home/testvh22//.ssh/testvh22.key*
Установка Gitolite
Последнюю инструкцию установки Gitolite можно взять по ссылке
ВНИМАНИЕ! Не добавляйте пользователей самостоятельно. Пользователи gitolite, хранилища, правила доступа вносятся через специальное хранилище, которое называется 'gitolite-admin'
-bash-3.2$ git clone git://github.com/sitaramc/gitolite Cloning into 'gitolite'... remote: Counting objects: 8076, done. remote: Compressing objects: 100% (2647/2647), done. remote: Total 8076 (delta 5552), reused 7743 (delta 5264) Receiving objects: 100% (8076/8076), 1.85 MiB | 1.12 MiB/s, done. Resolving deltas: 100% (5552/5552), done. -bash-3.2$ -bash-3.2$ -bash-3.2$ mkdir -p ~/bin/ -bash-3.2$ gitolite/install -to ~/bin/ -bash-3.2$ mv ~/.ssh/testvh22.key.pub ~/.ssh/testvh22.pub -bash-3.2$ ~/bin/gitolite setup -pk ~/.ssh/testvh22.pub
При установке в файл ~/.ssh/authorized_keys была добавлена строка
-bash-3.2$ cat ~/.ssh/authorized_keys
command="/hsphere/local/home/testvh22/bin/gitolite-shell testvh22.key",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAtJXKM64nCrUOW41Vi1ErR/OstVHiNuwnRhVid6TgHv7r/CtiTNwyKP3soT4FkzNMhKr/4rBVt40srEOa2Vv0HlwxDRrPW/ObKshPje0/THgYAvcpCfu7eOsUar6RWACEA1joLcy5X1eVB6HGWHsSYyj0+50O69AzNtwWo9gF3jL6Ey7xuIATS13wOWC+hr1FbO9rUIhOUWDxmR0hwPKw9IuUak9mfGRPPbC1PAE5I2ZeNm5J80Aqsk4STHnVTR+lvxFWm/AD5ca7T8Go9givTFDfPYu4F43e117TpfZ2U3klbELXwnPMVAG5KOleRH4qwat6bLvJ/5KTYrMGD7IRTUN+pCjRM5Eg3qAqDGIwxxsiZ1swgEqzjgpk7AU+1oSugtykm2iWU+hGZ5zBcMsclrKP+NlUUCCsYoe6SBB716OewbwbuEXJCIGU04Szv4dPDEEP90mFp0lBUpJKKpMgo90UC7zTA8zjJcI3WUWW7htRm9vjo4SidYZ4mDoUYvr9oP1MbxJV5pzChtEMQSMs7YWx3q/JpdL69pB9XeKsbG+/Cu0Sv8cm0JABz6v14tX5UfM728LXOdzaOA2kMhiQFPUk9J9DeloP3Qn8B1voirX5d2MLW9I1F/NUXgyxS1V2vUB9bDQvfG3wV40AmiE3iuKTB46C9vnkwpdMt5jxTF8= testvh22
Настройка Git Bash
- Скачиваем и устанавливаем Git Bash
Все значения при установке используем по-умолчанию. Для настройки авторизации в домашнем каталоге пользователя создаем директорию .ssh в эту директорию копируем приватный ключ testvh22.key и переименовываем его в id_rsa
- Запускаем Git Bash - ярлык на Рабочем столе
- Создаем каталог в котором будем работать с хранилищем
- Скачиваем административное хранилище, которое создается при установке Gitolite
Ошибки
fatal: protocol error: bad line length character: This
Проверьте, что пользователю с именем которого Вы подключаетесь предоставлена возможность подключения к SSH. В панели H-SPHERE только основной пользователь FTP имеет право подключаться к SSH.