Git по электронной почте?
-
01-07-2019 - |
Вопрос
Предполагая, что доступ к сети является спорадическим без центрального сервера, каков наилучший способ использовать 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 есть полный список.