2008-09-17 5 views
9

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

ответ

22

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

«git bundle» и подкоманды «create» и «unbundle» могут быть использованы для создания и использования двоичного blob инкрементных коммитов, которые могут быть использованы для переноса истории филиалов через «слабую» ссылку посредством альтернативной передачи файлов механизм (например, электронная почта, уличная почта и т. д.).

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

+0

Nice. Я слышал о обработчиках на основе патчей раньше (см. Другие сообщения), но git-bundle - это то, что мне действительно нужно. http://www.kernel.org/pub/software/scm/git/docs/git-bundle.html – 2008-09-20 09:43:33

5

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

2

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

Смежные вопросы