Вопрос

Предполагая, что доступ к сети является спорадическим без центрального сервера, каков наилучший способ использовать git для синхронизации трех или более ветвей?Есть ли способ извлечь только мои дельты, отправить их по электронной почте и объединить их на другом конце?

Это было полезно?

Решение

Хотя "git format-patch" и "git am" - отличные способы управления исправлениями из источников, отличных от git, для репозиториев git вам следует изучить "git bundle".

"git bundle" и подкоманды "create" и "unbundle" могут использоваться для создания и использования двоичного большого двоичного объекта инкрементных коммитов, который может использоваться для передачи истории ветвей по "слабой" ссылке с помощью альтернативного механизма передачи файлов (напримерэлектронная почта, электронная почта-улитка и т.д.).

пакеты git сохранят идентификаторы коммитов, тогда как format-patch / am этого не сделает, что приведет к тому, что целевые коммиты не будут идентичными (разные SHA1).

Другие советы

Смотрите на главных страницах информацию о git-format-patch и git-am.Это один из способов, для работы с которым изначально была разработана система.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top