Git com o Dropbox

Eu tenho usado o git por meio ano e não sei se estou usando o git completamente.

Primeiro de tudo, eu tenho experimentado com dropbox e eu sinto que se eu puder incorporá-lo em meu stream de trabalho, seria ótimo, já que dropbox é bastante conveniente.

  1. Eu tenho um desktop e um laptop. Ambos têm dropbox.
  2. Eu inicializei meus git init --bare dropbox fazendo um git init --bare . E, em seguida, no script post-commit do meu Desktop, eu tenho uma git push --mirror dropbox .

Dessa forma, minha área de trabalho e dropbox sempre serão completamente espelhadas, o que é bom.

Minha verdadeira pergunta é: como devo configurar meu laptop? Eu tenho ouvido algumas sugestões:

  1. Puxar da minha área de trabalho, para que a origem do meu laptop seja a área de trabalho.
  2. Puxar diretamente do dropbox para que a origem do meu laptop seja dropbox.

Eu tenho feito o número 2 e não sei se estou fazendo a coisa certa. Meu stream de trabalho inclui:

  1. Toda vez que eu estou no meu laptop, eu faço um git pull (já que a origem do laptop é dropbox e dropbox atualizações em si)
  2. Então, quando eu verificar um ramo da checkbox de depósito para um ramo local.
  3. Depois que eu terminar o trabalho, eu me comprometo.
  4. Isto é onde eu estou confuso: Devo empurrar –mirror para meus repositorys de dropbox (repositorys de origem do meu laptop) também? Estou tendo algumas dificuldades nessa área: às vezes o dropbox não sincroniza muito bem, etc.

Atualmente, fazer um git branch -r no meu desktop depois de fazer o git push --mirror origin no meu laptop não mostra o meu laptop recentemente comete. Alguém pode me dizer o porquê?

Eu mencionei puxar da minha área de trabalho diretamente, porque dessa forma eu sempre posso inicializar a puxada e estou 100% confiante de que a synchronization está feita. Com a checkbox de depósito, nunca consigo ter 100% de certeza se a atualização foi enviada para o servidor da checkbox de depósito

   

Se você quiser adicionar um contêiner repo intermediário, o Dropbox é bom desde:

  1. Você usa o formato git bundle : ele gera um repository simples com apenas um arquivo (ou seja, é mais provável que o Dropbox sincronize corretamente com qualquer um dos seus computadores: trata-se apenas de copiar um arquivo, e não “toda a estrutura” da qual você está não tenho certeza que você vai ter tudo de volta).

  2. Você está usando um pacote incremental para cada um dos seus salvamentos (novamente, um arquivo por salvar, fácil de puxar do outro lado para recuperar o que foi feito).
    Nomeie seu incremento após a origem (laptop ou desktop) e com a data.
    Basicamente, você vai puxar de qualquer xxx.bundle que você ainda não tenha puxado.

  3. Você limpa regularmente todos os pacotes incrementais intermediários, substituindo-os por um pacote completo de qualquer fonte que seja o mais atualizado

Esse modelo permite:

  • processo de synchronization simples (um ou poucos arquivos)
  • processo de salvamento rápido (com pacotes incrementais)
  • dimensionamento : se houver mais de um ator, ou seja, se várias pessoas estiverem atualizando o mesmo ramo, você poderá isolar suas contribuições ao fazer referência a eles usando um nome remoto diferente (já que cada pacote é um repository vazio do qual você pode puxar).