Pergunta
Assumindo que o acesso à rede é esporádica com nenhum servidor central, o que seria a melhor maneira de usar git para manter três ou mais ramos em sincronia? Existe uma maneira de extrair apenas meus deltas, enviar e-mail desses, e fundi-los na outra extremidade?
Solução
Enquanto "git formato-patch" e "am git" são ótimas maneiras de gerir os patches a partir de fontes não-Git, para repositórios git você deve investigar "git pacote".
"git pacote" e os subcomandos "Criar" e "Unbundle" pode ser usado para criar e usar um sistema binário de commits incrementais que podem ser usados ??para a história ramo de transferência através de um link 'fraco' por meio de um mecanismo de transferência de arquivo alternativo (por exemplo, e-mail, caracol-mail, etc.).
pacotes git irá preservar cometer ids, enquanto formato-patch / am não resultando nos commits destino não ser idênticos (SHA1s diferentes).
Outras dicas
Veja as páginas principais para git-format-patch
e git-am
. Esta é uma das maneiras que o sistema foi originalmente projetado para trabalhar com.
Existem algumas ferramentas em git para usar a patches de correio ou de importação enviados correções: git-am (aplicar patches de uma caixa de correio), git-formato-patch (preparar e-mail para envio), git-send-email (enviar uma coleção de correções via correio), etc. man 1 git tem uma lista completa.