Git должен присутствовать на сервере, чтобы использовать его? - PullRequest
7 голосов
/ 06 сентября 2011

Когда я начал работать с git, одним из самых заметных преимуществ, которые мне сказали мои коллеги, было то, что git не должен присутствовать на сервере вместо svn.

Ноэто правда?В другом потоке я читал, что по крайней мере git-upload-pack или git-receive-pack были бы необходимы.

С другой стороны, я могу смело хранить репозиторий git на флешке usb.

Итак, на сервере должно быть установлено какое-либо программное обеспечение, кроме ssh или нет?

Ответы [ 2 ]

9 голосов
/ 06 сентября 2011

Нет, вы правы, когда говорите, что можете обслуживать git-репозиторий без установленного git на вашем сервере.Это потому, что все, что нужно для обслуживания git-репозитория, «хранится» в каталоге .git.

Но для связи с сервером (например, выполните clone, push и т. Д....), в зависимости от вашего адреса хранилища (refspec) будет использоваться определенный транспорт.И если вы используете транспорт ssh или git, на стороне сервера также должен быть установлен git.Потому что, как вы сказали, он «упаковывает» все данные, которыми обмениваются, в более эффективный формат.

Вы можете обойти это, смонтировав удаленный сервер в вашей файловой системе и используя транспорт «file».Или вы можете загрузить свои собственные «альтернативы» для git и использовать вместо этого:

git clone -u /home/you/bin/git-upload-pack you@machine:code

(из: git-upload-pack: команда не найдена, как исправить это правильно )

0 голосов
/ 06 сентября 2011

Каждый репозиторий git действует как сервер.

Как только вы выполните git clone, он станет полностью рабочим репозиторием, который можно добавить в качестве удаленного на любой другой компьютер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...