Se un git pull continua ad essere interrotto a metà, riuscirà alla fine?


2

Ho appena iniziato a utilizzare SparkleShare per sincronizzare i miei documenti tra computer. SparkleShare utilizza Git per quasi tutto. I miei pochi commit iniziali sono grandi: diversi gigabyte ciascuno. Sono stati inviati correttamente al server Git.

La mia rete domestica ora è molto traballante, quindi il mio secondo computer sta facendo fatica a completare il git pull: la connessione di rete si interrompe a metà.

La mia domanda: se il secondo computer continua a provare a estrarre un singolo changeset gigante, alla fine avrà successo? È un'azione cumulativa o perde il suo posto quando viene interrotta la connessione di rete?

Da quel poco che so del protocollo di Git, sembra che il pull faccia progressi globali ogni volta che scarica con successo ogni BLOB (file). I commit sono solo piccoli file che puntano ai BLOB. Quindi sospetto che il secondo PC alla fine si sincronizzerà nonostante la rete traballante, a meno che la rete non sia così instabile che il PC non abbia mai l'opportunità di scaricare un singolo BLOB per intero. Ma vorrei una conferma.

Risposte:


1

git pullè semplicemente zucchero di sintassi per l'esecuzione git fetche quindi git merge. git fetchi download si impegnano singolarmente, quindi l'esecuzione di git pullnuovo dovrebbe continuare da dove era stata interrotta, poiché git non ha bisogno di scaricare nuovamente i BLOB già scaricati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.