2

Я только начал использовать SparkleShare для синхронизации своих документов между компьютерами. SparkleShare использует Git практически для всего. Мои первые несколько коммитов большие: по несколько гигабайт каждый. Они были успешно отправлены на сервер Git.

Моя домашняя сеть сейчас очень ненадежная, поэтому моему второму компьютеру трудно выполнить git pull: сетевое соединение прерывается на полпути.

Мой вопрос: если второй компьютер будет пытаться вытащить один гигантский набор изменений, удастся ли это в конечном итоге? Это кумулятивное действие или оно теряет свое место, когда сетевое соединение прерывается?

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

1 ответ1

1

git pull - это просто синтаксический сахар для запуска git fetch и затем git merge . git fetch фиксируются индивидуально, поэтому повторное выполнение git pull должно продолжаться с того места, на котором вы остановились, поскольку git не нужно повторно скачивать уже загруженные большие двоичные объекты.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .