Подтвердить что ты не робот

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 не подходит для моей команды?

Любая помощь очень ценится!

4b9b3361

Ответ 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-версия) не находите ключевой файл. У меня была та же проблема и решена так:

  • В моей записной книжке сгенерирован ключевой файл ([email protected]) в папке ~/.ssh(где ~ - домашняя папка. версия для Windows% HOME% env)
  • Я добавил конфигурацию имени файла в ~/.ssh со следующим содержимым:

    IdentityFile ~/.ssh/rafael.ni[email protected]

В каждом месте, где я хочу получить доступ к моим серверам git, я просто копирую эти файлы в папке% HOME%

Вы также можете поместить такие вещи в конфигурационный файл:

IdentityFile /d/identity.key
IdentityFile /e/identity.key
IdentityFile /f/identity.key
IdentityFile /.../identity.key

Таким образом, конфигурация будет искать ключи в съемных средах.