Организация работы с репозитарием GIT

Материал из Wiki.Hosting.UA
Перейти к: навигация, поиск

Содержание

Цель

Организовать работу группы людей в 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.


Ссылки

  1. Git - Википедия
  2. Pro Git book
  3. Git How To
  4. Git Extensions
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
ССЫЛКИ НА РАЗДЕЛЫ
Инструменты