Wenn ein Idiot immer wieder abgebrochen wird, wird es irgendwann gelingen?

2

Ich habe gerade mit SparkleShare begonnen , meine Dokumente zwischen Computern zu synchronisieren. SparkleShare verwendet Git für fast alles. Meine ersten paar Commits sind groß: jeweils mehrere Gigabyte. Sie wurden erfolgreich auf den Git-Server übertragen.

Mein Heimnetzwerk ist jetzt sehr unzuverlässig, so dass es meinem zweiten Computer schwerfällt, den Git-Pull abzuschließen: Die Netzwerkverbindung wird währenddessen abgebrochen.

Meine Frage: Wenn der zweite Computer weiterhin versucht, einen einzigen riesigen Änderungssatz abzurufen, wird er irgendwann erfolgreich sein? Handelt es sich um eine kumulative Aktion, oder verliert sie ihren Platz, wenn die Netzwerkverbindung abgebrochen wird?

Nach all dem, was ich über Gits Protokoll weiß, scheint der Pull jedes Mal, wenn er erfolgreich jeden Blob (jede Datei) herunterlädt, Fortschritte zu machen. Commits sind nur kleine Dateien, die auf die Blobs zeigen. Ich vermute also, dass der zweite PC trotz des schuppigen Netzwerks irgendwann synchronisiert wird, es sei denn, das Netzwerk ist so schuppig, dass der PC nie die Möglichkeit bekommt, einen einzelnen Blob vollständig herunterzuladen. Ich hätte aber gerne eine Bestätigung.

Philip
quelle

Antworten:

1

git pullist einfach syntax zucker zum laufen git fetchund dann git merge. git fetchdownloads werden einzeln festgeschrieben, daher sollte die Ausführung git pullan der Stelle fortgesetzt werden, an der Sie aufgehört haben, da git die bereits heruntergeladenen Blobs nicht erneut herunterladen muss.

Nick McCurdy
quelle