Нужно ли устанавливать Git-сервер, если я хочу иметь удаленный доступ к хранилищу через ssh? - PullRequest
11 голосов
/ 31 марта 2011

Не могли бы вы объяснить, нужно ли мне устанавливать git-сервер на удаленной машине, если мне нужно только разместить там репозиторий и получить к нему доступ через ssh?

Мое невежество, вероятно, начинается с неправильного понимания некоторых ключевых операций gitпринцип, поэтому я был бы рад, если бы кто-нибудь объяснил мне это.

Я думал, что удаленный сервер для git - это просто место, где хранятся файлы, почти как локальная папка моего компьютера, и я могу иметь удаленный сервер сДоступ по ssh для размещения моего репозитория без необходимости устанавливать там двоичные файлы git-сервера.

Возможно ли это?Если нет, не могли бы вы объяснить мне эту вещь, по которой я скучаю?

Ответы [ 3 ]

5 голосов
/ 31 марта 2011

Все файлы, необходимые для запуска git, хранятся локально для извлечения (в каталоге .git).Вы могли бы просто получить доступ к своему git-репозиторию по SSH и эффективно обращаться с ним как с репозиторием на локальном компьютере, например, путем локального монтирования удаленной папки.

Однако я не уверен, почему выЯ хотел бы сделать это.Вы не можете сделать ничего полезного без установленных бинарных файлов.Если вы просто хотите использовать репозиторий для частного управления версиями, то вы можете также установить и запустить его локально, а затем создать резервные копии с помощью ваших обычных методов резервного копирования.Если вы хотите использовать репозиторий для совместной работы с другими, вам нужны двоичные файлы git, доступные на сервере, к которому имеют доступ все ваши соавторы.

Нет значимого различия между git "server" и git "клиент».Это распределенная система управления версиями, что означает, что каждая касса является полнофункциональным хранилищем версий по своему праву.

4 голосов
/ 31 марта 2011

Конечно, возможно иметь доступ по ssh без "git server".
Хотя вам нужен ssh-сервер (демон).

Не смешивайте "удаленный сервер" и "удаленное (или собственно восходящее) репо: удаленное репо может быть простым каталогом рядом с вашим текущим репо (локальным протоколом).

Gitolite - хорошая иллюстрацияиспользование механизма принудительной команды ssh для управления авторизацией (не доступ).
См. Gitolite без SSH , чтобы понять, что для доступа к git-репо достаточно просто sshd.

См. Также Книга Pro Git для различных протоколов, поддерживаемых Git.

3 голосов
/ 31 марта 2011

При работе через SSH вам не нужен git-сервер.Хитрость в том, чтобы правильно настроить права доступа к файлам, чтобы каждый мог редактировать файлы.

Если вы делаете это только для себя, на сервере:

 git init --bare

Если вы делаетеэто с другими разработчиками, то вам нужно:

 mkdir repo
 chgrp GROUP repo
 chmod g+rwxs repo
 cd repo
 git init --bare --shared=group
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...