Как работает git -receive-pack?

Я хотел бы знать, как работает git-receive-pack, потому что я совершенно не понимаю, что с ним происходит. Может ли кто-нибудь пролить свет на эту тайну?

Ответ 1

Согласно странице руководства:

http://schacon.github.com/git/git-receive-pack.html

Эта команда обычно не вызывается непосредственно конечным пользователем. Пользовательский интерфейс для протокола находится на стороне git send-pack, а пара программ предназначена для использования обновлений для удаленного репозитория. Для операций выталкивания см. git -fetch-pack (1).

Команда позволяет создавать и ускорять пересылку sha1 refs (head/tags) на удаленном конце (строго говоря, это локальный конец git -receive-pack работает, но для пользователя, который сидит на конец пакета отправки, он обновляет пульт. Confused?)

Даже человек, пишущий справочную страницу, думает, что это сбивает с толку, поэтому не обвиняйте себя в этом, вы этого не понимаете!

В основном, это часть кода, который получает фиксации на удаленном сервере, которые были упакованы и отправлены send-pack на вашем локальном компьютере, когда вы выполняете git push.

Не важно понимать особенности, стоящие за ним - как говорят документы, это не команда, которую вы должны когда-либо набирать.

Если вы действительно глубоко заинтересованы в том, как он работает внутри страны, можно создать несколько хороших мест:

Страница Википедии на git (Software), Веб-сайт git или Бесплатная книга, Pro Git

Или вы всегда можете пойти посмотреть код 'c' для этой команды в исходном коде прямо здесь, на github.

http://git-scm.com/