Un force-push è un'operazione Git che sostituisce la cronologia di un ramo remoto con lo stato del tuo ramo locale. Invece di aggiungere nuovi commit sopra ciò che è già presente, può riscrivere o rimuovere commit che altre persone si aspettano di vedere. Per questo è potente e rischioso: può nascondere le prove del lavoro, scartare le modifiche dei revisori o far apparire un ramo pulito dopo modifiche sospette.
Nella sicurezza informatica, il force-push conta perché la cronologia Git fa parte del modello di fiducia dello sviluppo software. I difensori si affidano alla protezione dei rami, alla revisione del codice e a una cronologia apparentemente immutabile per rilevare manomissioni e coordinare modifiche sicure. Negli attacchi alla supply chain o nei tentativi di abuso, un attaccante può usare un force-push per cancellare un commit malevolo, sostituire un ramo con una versione più innocua oppure riscrivere il registro dopo essere stato contestato. Permessi robusti e rami protetti riducono i danni impedendo riscritture non autorizzate della cronologia.


