Git con Dropbox

Sto usando git da circa mezzo anno e non so se sto usando git completamente.

Prima di tutto, ho sperimentato con Dropbox e sento che se posso incorporarlo nel mio stream di lavoro, sarebbe davvero fantastico dato che dropbox è piuttosto conveniente.

  1. Ho un desktop e un laptop. Entrambi hanno una casella di riepilogo.
  2. Ho inizializzato i miei git init --bare dropbox facendo un git init --bare . E poi nello script post-commit del mio desktop, ho un git push --mirror dropbox .

In questo modo il mio desktop e il mio dropbox saranno sempre completamente specchiati, il che è una buona cosa.

La mia vera domanda è: come dovrei installare il mio portatile? Ho ricevuto alcuni suggerimenti:

  1. Tirare dal mio desktop, in modo che l’origine del mio portatile sia desktop.
  2. Estrai direttamente da Dropbox in modo che l’origine del mio portatile sia Dropbox.

Ho fatto il numero 2 e non so se sto facendo la cosa giusta. Il mio stream di lavoro include:

  1. Ogni volta che sono sul mio laptop, faccio un git pull (dal momento che l’origine del portatile è dropbox e gli aggiornamenti dropbox stessi)
  2. Quindi, quando controllo un ramo da una casella personale a un ramo locale.
  3. Dopo aver finito con il lavoro, commetto.
  4. Questo è il punto in cui sono confuso: dovrei premere –mirror sul mio repository dropbox (repository dell’origine del mio portatile)? Sto riscontrando alcune difficoltà in quest’area: a volte Dropbox non si sincronizza abbastanza bene, ecc

Attualmente, facendo un git branch -r sul mio desktop dopo aver eseguito git push --mirror origin sul mio laptop non viene mostrato il mio recente laptop commit. Qualcuno può dirmi perché?

Ho accennato al fatto di estrarre direttamente dal mio desktop perché in questo modo posso sempre inizializzare il pull e sono sicuro al 100% che la sincronizzazione sia completata. Con dropbox non posso mai essere sicuro al 100% se l’aggiornamento è stato trasferito al server Dropbox

Se si desidera aggiungere un contenitore di repository intermedio, Dropbox è fornito a condizione:

  1. git bundle formato git bundle : genera un repository nudo con un solo file (il che significa che Dropbox ha più probabilità di sincronizzarlo correttamente con uno qualsiasi dei tuoi computer: si tratta solo di copiare un file, non “l’intera struttura” da cui sei non sono sicuro che riavrai tutto ).

  2. Stai utilizzando un pacchetto incrementale per ciascuno dei tuoi salvataggi (di nuovo, un file per salvataggio, facile da estrarre dall’altro lato per recuperare ciò che è stato fatto).
    Assegna un nome al tuo incremento dopo l’origine (laptop o desktop) e con la data.
    Fondamentalmente, tirerai da qualsiasi xxx.bundle che non hai ancora tirato.

  3. Pulisci regolarmente tutti i pacchetti incrementali intermedi, sostituendolo con un pacchetto completo da qualsiasi fonte sia il più aggiornato

Quel modello consente:

  • semplice processo di sincronizzazione (uno o pochissimi file)
  • processo di salvataggio rapido (con bundle incrementali)
  • ridimensionamento : se c’è più di un attore, cioè se più persone stanno aggiornando lo stesso ramo, è ansible isolare i loro contributi quando si estrae da essi facendo riferimento ai loro bundle usando un nome remoto diverso (poiché ciascun pacchetto è un repository nudo dal quale è ansible Tirare).