Допустим у нас есть домашний сервер с ip 8.8.8.8 и нам надо на нем развернуть git сервер, для этого необходимо на сервере выполнить:
sudo adduser git
- создадим пользователя gitsu git
cd ~
mkdir .ssh && chmod 700 .ssh
- создадим каталог .sshtouch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys
cat /путь к ключу одного из разрабов/id_rsa.pub >> ~/.ssh/authorized_keys
- добавляем открытые SSH-ключи разработчиков (столько ключей, сколько разработчиков) в файл authorized_keys.mkdir git
cd git
mkdir project.git
cd project.git
git init --bare
- создаем репозиторий без рабочего каталога. Это самая главная строчка по сути с ее помощью мы и создали git сервер. Заметьте, что кто-то должен заходить на сервер и создавать голый репозиторий каждый раз, когда вы хотите добавить новый проект.
Допустим на локальном компе Васи есть проект и он послужит первоисточником:
cd myproject
git init
git add .
git commit -m 'Initial commit'
git remote add origin git@8.8.8.8:/home/git/git/project.git
- файлы проекта залиты на сервер.
Теперь все остальные могут клонировать проект: git clone git@8.8.8.8:/home/git/git/project.git