Quando gioco con git
, a volte provo cose, quindi annullo comandi che richiedono troppo tempo (ad esempio alcuni comandi git svn
che si bloccano durante i problemi di rete). Questo mi ha fatto riflettere:Un repository git può essere danneggiato se un comando che lo modifica si arresta in modo anomalo o viene interrotto?
È sempre sicuro interrompere forzatamente un comando (Ctrl-C o kill
)? Cosa succede se un comando si blocca (memoria insufficiente, bug, problema di rete/FS)? Le modifiche del repository sono "transazionali" nel senso che le modifiche incomplete vengono "ripristinate" (come in un filesystem di versioni)? O rischio la corruzione del repository in quel caso?
Sono sicuro che le persone intelligenti che lavorano su git devono averne tenuto conto, tuttavia non sono riuscito a trovare alcuna informazione nel manuale di git o online.
Avete un riferimento (fonti git o documentazione) che il repo e l'azione push sono transazionali? –