Мне нужно установить git на сервере Ubuntu, который будет доступен для нескольких пользователей.
Я предполагаю, что буду использовать git + ssh, поэтому у каждого пользователя будет системная учетная запись, но как мне установить git и репозиторий, чтобы каждый пользователь мог нажимать / перетаскивать локальный IP-адрес?
Я бы рекомендовал использовать гитолит для управления доступом и разрешениями пользователей.
Лучший способ описать это - процитировать разработчика:
Gitolite позволяет использовать одного пользователя на сервере для размещения множества репозиториев git и предоставлять доступ множеству разработчиков без необходимости предоставлять им реальные идентификаторы пользователя или доступ к серверу через оболочку. Существенным волшебством в этом является доступ к ssh pubkey и файл authorized_keys, а вдохновением послужила старая программа под названием gitosis.
Gitolite может ограничивать круг лиц, которые могут читать (клонировать / извлекать) или писать в (push) репозиторий. Он также может ограничивать, кто может отправлять сообщения в какую ветвь или тег, что очень важно в корпоративной среде. Gitolite может быть установлен без прав root и без дополнительного программного обеспечения, кроме самого git и perl. Он также имеет несколько других полезных функций, описанных ниже и в другом месте в каталоге doc /.
И вот некоторые особенности, которые я лично хотел бы выделить:
Удачи
-víðir
Один из способов сделать это - создать группу для пользователей «git» и добавить всех пользователей, которым вы хотите получить доступ, в эту группу. Вы можете использовать команду groupadd для создания группы, а затем я просто редактирую / etc / group, чтобы изменить список пользователей в этой группе, разделенных запятыми. Обычно я называю группу в зависимости от проекта, например «newwebsite», а не «git». Например, запись в / etc / group может выглядеть так:
newwebsite:x:999:swarren,jafo,kyle,mlb
Теперь создайте каталог для хранения репозитория git, скажем "/ var / git / newwebsite": mkdir -p / var / git / newwebsite
Настройте разрешения для этого каталога, чтобы включить липкий бит группы:
chgrp newwebsite /var/git/newwebsite
chmod g+ws /var/git/newwebsite
Теперь инициализируйте репозиторий в этом каталоге с помощью:
cd /var/git/newwebsite
git init --bare --shared=group
ПРИМЕЧАНИЕ. Не заменяйте «группу» своей группой, это должна быть буквальная строка «группа».
Если эта ошибка исчезнет, ваша версия «git», вероятно, не поддерживает параметр «--bare». В этом случае удалите параметр "--bare".
На этом этапе ваши пользователи должны иметь возможность проверить репозиторий с помощью:
git clone git+ssh://$USER@$HOST/var/git/newwebsite
Установить git на Ubuntu
sudo apt-get install git-core
Инструкции по использованию см. На этот документ, на который я нашел отличную ссылку.