2012-07-30 30 views
27

Sto spingendo un file di grandi dimensioni per git, ma ho una connessione molto lenta. Qual è il modo più sicuro per terminare questo push (mid-push) e riprenderlo quando ho una connessione migliore?Git: Stop git push

risposta

42

Uccidere il client (Ctrl + C o qualsiasi altro metodo) non causerà il danneggiamento dei dati sul server, se questo è ciò che intendi per "sicuro". Il server non aggiorna nulla fino a quando tutti i blob non vengono trasferiti correttamente, quindi aggiorna i ref per puntare ai nuovi blob.

Git non ha alcuna possibilità di riprendere un trasferimento interrotto, quindi probabilmente dovrai trasferire di nuovo il blob grande quando hai una connessione più veloce.

12

Credo che git push sia atomico, il che significa che se si termina Ctrl-C dall'operazione, il repository remoto sarà nel suo stato originale, prima della pressione. Ciò significa anche che, quando si esegue nuovamente la spinta, si ricomincia dall'inizio. Ma non sembra che sia necessariamente un problema per te.