Как работает GIT Push? - PullRequest
       1

Как работает GIT Push?

4 голосов
/ 18 февраля 2012

У меня большой проект (несколько сотен МБ), если я использую удаленный GIT-репозиторий, GIT-клиент проталкивает весь каталог, даже если вы вносите небольшие изменения в один файл?

Спасибо

Ответы [ 3 ]

8 голосов
/ 18 февраля 2012

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

http://book.git -scm.com / 7_transfer_protocols.html содержит некоторые подробности о протоколе на техническом уровне и должен дать вам терминологию, чтобы идти дальше, если вы заботитесь о том, как и почему.

2 голосов
/ 18 февраля 2012

«Push» - это способ синхронизации репозиториев в Git, в вашем случае - синхронизация локального репо с одним заседанием на удаленном сервере.

Обновления репозитория происходят, когда вы фиксируете изменения (фактически, технически, когда вы «добавляете», но это становится глубже, чем необходимо). Когда вы делаете коммит, Git просто хранит информацию об изменениях дельты, которые вы сделали со времени последнего коммита (это не «дублирование» файлов). Но этот коммит находится только на вашей локальной машине, пока вы не нажмете. Когда вы нажимаете, Git просто синхронизирует обновления, сделанные вами в локальном репо, с репо на удаленном сервере.

Pro Git легко читается и прекрасно объясняет такие вещи: http://progit.org/book/

2 голосов
/ 18 февраля 2012

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

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