Git delete commit push
I commit sono una delle parti chiave di un repository Git e, inoltre, il messaggio di commit è un record di vita per il repository. Poiché il progetto/repository si evolve nel tempo (vengono aggiunte nuove funzionalità, vengono corretti i bug, viene rifattorizzato l’architettura), i messaggi di commit sono il luogo in cui è possibile vedere cosa è stato modificato e come. Ecco perché è importante che questi messaggi riflettano il cambiamento sottostante in modo breve e accurato.
Cosa fa Git commit? I messaggi di commit Git sono le impronte digitali che lasci nel codice che tocchi. Qualsiasi codice che confermi oggi, tra un anno quando vedrai lo stesso cambiamento; Apprezzerai un messaggio di conferma chiaro e significativo che hai scritto e semplificherà anche la vita ai tuoi colleghi sviluppatori. Quando i commit sono isolati in base al contesto, un errore introdotto da un determinato commit diventa più veloce da trovare ed è più facile ripristinare il commit che ha causato l’errore in primo luogo.
Quando lavoriamo su un grande progetto, ci troviamo spesso di fronte a molte parti in movimento che vengono aggiornate, aggiunte o rimosse. Garantire che i messaggi di commit vengano mantenuti in questi casi può essere complicato, specialmente quando lo sviluppo dura giorni, settimane o addirittura mesi. Quindi, per semplificare lo sforzo di mantenere una cronologia di commit concisa, questo articolo utilizzerà alcune delle situazioni comuni che uno sviluppatore può affrontare mentre lavora su un repository Git.
Git elimina un commit specifico
Mi è capitato più di una volta di fare un commit senza verificare le modifiche che sto commettendo. Qualche tempo dopo controllo il commit e mi rendo conto che c’è qualcosa di sbagliato nel commit.
In quelle occasioni ciò che voglio fare è correggere le modifiche al commit, eliminare il commit, applicare la patch e quindi eseguire nuovamente il commit con solo le modifiche che intendevo. In questo post spiegherò solo come eliminare un commit nel tuo repository locale e in un repository remoto nel caso in cui tu abbia già eseguito il push del commit.
Una cosa da notare qui è che il commit più recente è quello alla fine. I commenti in fondo al file danno una descrizione delle cose che si possono fare con il comando rebase, ma questa volta non verrà utilizzata nessuna di queste opzioni, dobbiamo solo eliminare la riga che corrisponde al commit che vogliamo eliminare e salvare il file.
Nota il segno + prima del nome del ramo che stai spingendo, questo dice a git di forzare il push. Vale la pena ricordare che devi stare molto attento quando elimini i commit perché una volta fatto, scompaiono per sempre. Inoltre, se stai eliminando qualcosa da un repository remoto, assicurati di coordinarti con il tuo team per evitare problemi.
Git annulla commit
Il ~ N significa eliminare di nuovo gli ultimi N commit (N deve essere un numero, ad esempio HEAD ~ 10). Quindi, puoi modificare il file che Git ti presenta per eliminare il commit offensivo. Quando salvi quel file, Git riscriverà tutti i commit successivi come se quello che hai eliminato non esistesse.
Questo avvierà rebase in modalità interattiva -i nel punto appena prima del commit che vuoi rimuovere. L’editor inizierà a elencare tutti i commit da allora. Elimina la riga contenente la conferma che desideri eliminare e salva il file. Rebase farà il resto del lavoro, cancellando solo quel commit e riproducendo tutti gli altri nel registro.
Questo riporterà il tuo repository al suo stato prima dei comandi git add che hanno organizzato i file. Le tue modifiche saranno nella tua directory di lavoro. HEAD ~ 1 si riferisce al commit sotto l’head corrente del ramo.
Tutti i comandi precedenti ripristinano lo stato dell’albero e dell’indice di lavoro come erano prima del commit, ma non ripristinano lo stato del repository. Se noti, il commit “eliminato” non è stato realmente eliminato, semplicemente non è quello in cima al ramo corrente.
Git elimina commit da remoto
Questo tutorial ti aiuterà a rimuovere la cronologia dei commit dal tuo repository git locale e dal repository git remoto ospitato su Github, Gitlab, Bitbucket o qualsiasi altro hosting git. In questo repository, eliminerai il ramo master locale e creerai un nuovo ramo master. Infine, invia le modifiche al repository git remoto. Elimina la cronologia dei commit nel repository Github Segui i passaggi seguenti per completare questa attività. Attenzione: questo cancellerà completamente la tua vecchia cronologia dei commit, non sarai in grado di recuperarla di nuovo. Riferimento: http : //stackoverflow.com/questions/13716658/how-to-delete-all-commit-history-in-github
Imparentato