#git #github
Стало интересно, каким образом хранятся проекты на серверах и как происходит с ними работа. Тут описано как настроить свой сервер для хранения git проектов. Может ли быть, что по подобной схеме устроены сервисы на подобии GitHub? Надеюсь у кого то есть информация или ссылки по этому вопросу.
Ответы
Ответ 1
По ссылке на сайт гита приведено достаточно информации. Подобные сайты обычно: хранят bare версии репозитория (то есть, без рабочего каталога, только содержимое .git каталога. git поддерживает это "из коробки"). Хранят обычно прямо в файловой системе. предоставляют интерфейс пользователя, что бы просматривать репозиторий, проводить действия с ним. Для этого используется: либо библиотека libgit2 (у нее есть обвязки к разным языкам) либо консольные команды (у гита даже есть специальный ключ у многих команд --porcelain, который делает вывод простым и предсказуемым для парсинга, с версионированем) либо прямой доступ к файлам гита (они просты, так что в большинстве случаев все легко, но возможны подводные камни) или комбинируют указанные способы дают различные "фишки": просмотр diff мердж статистика CI решают проблему разделения прав управления ключами и пользователями обработка запросов от гита на проверку ключа (на самом деле не гита, а ssh клиента, настроенного специальным образом или http)
Комментариев нет:
Отправить комментарий