Настройка хостинга репозиторий GitLab

Настройка хостинга репозиторий GitLab

Roman Bogachev VMware Specialist | Drone Pilot | Traveler

Open Source версия GitHub. Теперь вы можете создать свой хостинг репозиториев.

Настройка нового локального репозитория

gitlab

Начнем с SSH ключей.

Стоит различать 2 разновидности SSH пар ключей - которые использует Git и которые используют клиенты типа Source Tree, Tortoise Git. Проблема первой разновидности в том, что без лишних телодвижений допускается использование только одной пары ключей, в то время как каждый репозиторий требует уникальный ключ, вторых же можно наплодить неограниченное количество (на самом деле можно использовать более 1 пары ключей первого типа, но предлагаемые решения работают либо частично, либо не работают вообще).
Для начала, сделаем ключи для Git, для этого запустим Git Bash.
Git подразумевает что в Windows среде ключи лежат по адресу ~ /.ssh/id_rsa, где ~ - путь к домашней директории пользователя (например c:\Users\USERNAME), в папке которого есть каталог .ssh, в котором лежит пара ключей - id_rsa.pub и id_rsa (соответственно публичная часть и приватная).

Пришло время для генерирования ключей, возвращаемся к Git Bash и в консоль вводим следующее:

1
ssh-keygen -t rsa -C "your_email@example.com"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/Admin/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/Admin/.ssh/id_rsa.
Your public key has been saved in /Users/Admin/.ssh/id_rsa.pub.
The key fingerprint is:
00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 your_email@example.com
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
| |
| |
| |
| |
| |
| |
+-----------------+

Переходим в личном кабинете в профиль, на вкладку с SSH ключами: И добавляем сгенерированный ключ из файла id_rsa.pub (title заполнять не нужно - подставляется автоматически из комментария к ключу, таким образом ключи удобно отличать визуально, не сравнивая fingerprints.)

git

Убеждаемся что файл принят системой.

HTTP доступ к репозиторию

Настала очередь собственно локального репозитория. Возвращаемся в Git Bash и поочередно вводим команды, которые услужливо подсказывает стартовая страница вашего проекта:

1
2
git config --global user.name "Admin Server"
git config --global user.email "admin@example.com"
1
2
3
4
5
6
7
8
mkdir test-project # создаем новую папку для проекта
cd test-project # переходим в папку проекта
git init # инициализируем локальный репозиторий
touch README # создаем новый файл README
git add README # добавляем его к версионированию
git commit -m 'first commit' # делаем commit с коментарием о первом комите
git remote add origin http://gitlab.@example.com/Admin/test-project.git # добавляем адрес удаленного репозитория в HTTP формате
git push -u origin master # отправляем изменения на сервер

Теперь если зайти в свой личный кабинет, то сначала увидим сообщение про создание новой ветки master в нашем проекте.

git

Галочка в зеленом кружочке сообщает что данная папка успешно подключена к VCS.
Итак, мы создали первый тестовый проект, подключили его к удаленному репозиторию по HTTP протоколу и сделали первый commit первого файла - README.

On this page