Git Расстройство сервера (Гитоз, Гитолит и т.д.)
Прошу извинить разочаровывающие подтексты, поскольку я попытался установить это правильно несколько раз безрезультатно (возможно, и, скорее всего, из-за моего незнания, но также, вероятно, из-за отсутствия тщательной и краткой документации).
Я пытаюсь настроить сервер git, чтобы я мог совместно использовать код среди небольшой группы разработчиков. Каждый разработчик может подключаться к нескольким клиентским ПК. Я из MS в прошлом, поэтому я немного испорчен в отношении набора инструментов разработки, но было бы здорово, если бы я мог получить что-то похожее на TFS.
При попытке настроить либо gitosis (я понимаю, что это не рекомендуется для сообщества git за https://serverfault.com/info/225495/ubuntu-server-gitosis-user-naming-convention) или гитолит, похоже, как только как я его настраивал, я должен быть предельно осторожным, потому что кажется, что все балансирует на зубочистках.
Моя последняя попытка настроить сервер git включала перемещение моего открытого ключа (benny.pub) с моего ноутбука на сервер, установку всего с помощью этого открытого ключа и выключение конфигурации для настройки репо и разрешений. Затем я понял, что хочу развиваться на другом ПК, поэтому я создал новый ключ ([email protected]) и переименовал benny.pub в [email protected], который, очевидно, закрутил вещи. Здесь я знаю, что я был немым, изменив имя.
Мой вопрос после длинного описания заключается в следующем: как я могу создать прочный самообслуживаемый сервер git с возможностью запуска нескольких разработчиков с нескольких компьютеров при сохранении безопасности и т.д.? Там должна быть проверенная техника (гитолит описывает, может быть, 4-5 разных способов... также разочаровывает), чтобы сделать это, поскольку я уверен, что я не единственный, кто пытается сделать это точно так же. Может быть, git не подходит для моей команды?
Любая помощь очень ценится!
Ответы
Ответ 1
Из моего опыта все, что вам нужно, это SSH-сервер с единственной учетной записью git/login, с которой вы можете подключиться к одному из ваших открытых ключей. Установите gitolite с помощью SSH (копирует gitloite с вашего клиента на сервер и выполняет базовую настройку), и ваши разработчики отправят вам свои открытые ключи. Добавьте эти ключи в репозиторий gitolite-admin в ~
и нажмите.
Почему разработчику требуется в первую очередь больше одной пары ключей, даже если используются несколько машин? Такие случаи не будут влиять на то, как SSH обрабатывает аутентификацию, а также то, как гитолит обрабатывает авторизацию: они все еще являются ключами SSH.
-
Если разработчику необходимо использовать несколько клавиатур (один для git, другой для другого сервера), пусть они справятся со сложностью и посоветуют им создать запись в ~/.ssh/config
для каждой комбинации клавиш/сервера они используют.
-
Если у разработчика есть другая ключевая пара на каждой используемой машине, группы гитолит могут объединять несколько открытых ключей:
@agross = agross-1 agross-2
Ответ 2
Несколько указателей:
Раздел о git на сервере на Scott Chacon pro git book
Gitorious является FOSS
Ответ 3
Я поддерживаю конфигурацию gitosis на работе, и когда у разработчика есть несколько ключей ssh, все, что мне нужно сделать, это поместить все эти ключи в один и тот же файл keydir/user.pub
.
Итак, соедините все ваши ключи с keydir/benny.pub
, и вы все настроитесь.
Ответ 4
Существует несколько решений с открытым исходным кодом git для хостинга с веб-интерфейсом для создания репозиториев и добавления пользователей (например, GitHub: FI)... хотя я не знаю об ограничении доступа:
НТН
Ответ 5
Я использую debian, у каждого разработчика есть учетная запись на сервере. Я использую ssh с логином входа в личный ключ. Наконец, разработчик должен использовать URL-адрес, например ssh://[email protected]/ git -repo/repo.git, для проверки или в любом случае взаимодействовать с git при репо
Ответ 6
Я думаю, что проблема заключается в том, что вы ssh-клиент (windows или linux-версия) не находите ключевой файл. У меня была та же проблема и решена так:
В каждом месте, где я хочу получить доступ к моим серверам git, я просто копирую эти файлы в папке% HOME%
Вы также можете поместить такие вещи в конфигурационный файл:
IdentityFile /d/identity.key
IdentityFile /e/identity.key
IdentityFile /f/identity.key
IdentityFile /.../identity.key
Таким образом, конфигурация будет искать ключи в съемных средах.