Idiota

Come annullare l'ultimo commit in Git

Come annullare l'ultimo commit in Git
Un flusso di lavoro comune in Git è apportare modifiche al progetto, aggiungere le modifiche all'area di staging, confermare le modifiche, apportare nuove modifiche, mettere in scena le modifiche, confermare le modifiche e continua all'infinito. Ma cosa succede se hai commesso per errore le tue modifiche?? Beh, non temere. Puoi sempre annullare il tuo ultimo commit in Git. In questo articolo, ti mostrerò come annullare l'ultimo commit in Git. Quindi iniziamo.

Configurazione di un repository Git di prova:

In questa sezione, clonerò uno dei miei repository GitHub sul mio computer per configurare un repository di prova per questo articolo. Se vuoi seguire, puoi farlo anche tu. Se hai il tuo repository Git con cui lavorare, allora fantastico! Puoi usarlo anche tu.

Per clonare uno dei miei repository GitHub (https://github.com/dev-shovon/my-project), esegui il seguente comando:

$ git clone https://github.com/dev-shovon/my-project annulla_commit_demo

Il repository GitHub dovrebbe essere clonato in annulla_commit_demo/ directory.

Ora vai a annulla_commit_demo/ directory come segue:

Il commit che vuoi annullare potrebbe trovarsi in un ramo diverso dal mio. Voglio annullare l'ultimo commit del ie-fissa ramo. Quindi, devo tirare il ramo ie-fix dal mio repository GitHub.

Puoi tirare il ie-fissa ramo da GitHub come segue:

$ git pull origin ie-fix

NOTA: Qui, ie-fissa è il nome del ramo.

Il ie-fix il ramo dovrebbe essere tirato.

Ora, checkout alla filiale (nel mio caso, ie-fissa) da cui si desidera annullare l'ultimo commit come segue:

$ git checkout ie-fix

Come puoi vedere, l'ultimo commit del ie-fissa il ramo è aec00f3. Nelle prossime sezioni, ti mostrerò i modi per annullare l'ultimo commit sul tuo repository Git.

Annulla l'ultimo commit e mantieni le modifiche:

Un modo per annullare l'ultimo commit è utilizzare il soft reset sul tuo repository Git. Quello che fa è, l'ultimo commit viene rimosso e le modifiche che hai apportato in quel commit vengono aggiunte all'area di staging del tuo repository Git. In questo modo, se vuoi correggere qualcosa, puoi modificare i file e aggiungere un nuovo commit.

Come puoi vedere, l'ultimo commit nel mio ie-fix il ramo è aec00f3.

$ git log --oneline

Inoltre, la mia area di sosta è pulita.

$ git stato

Ora, per rimuovere o annullare l'ultimo commit, esegui il seguente comando:

$ git reset --soft HEAD~1

Come puoi vedere, il commit aec00f3 è andato.

$ git log --oneline

Inoltre, il file che ho modificato nell'ultimo commit è nella mia area di staging.

$ git stato

Ora puoi modificare ulteriormente i file, correggere gli errori che hai commesso e ripetere le modifiche.

Annulla ultimo commit e rimuovi modifiche:

Se l'ultimo commit che vuoi rimuovere è inutile per te, puoi prendere in considerazione un hard reset sul tuo repository Git. Ciò che fa l'hard reset è che rimuove l'ultimo commit come prima. Ma rimuove anche tutte le modifiche apportate nell'ultimo commit. Esegui un hard reset solo quando sei sicuro di non aver più bisogno di nulla dell'ultimo commit.

vado a tirare il ie-fissa branch dal mio repository GitHub di nuovo per recuperare l'ultimo commit aec00f3 e rimuoverlo di nuovo in questa sezione.

$ git pull origin ie-fix

Come puoi vedere, l'ultimo commit è tornato. Se il tuo repository Git viene caricato su un servizio cloud Git come GitHub, puoi ripristinare anche qualsiasi commit rimosso per errore.

Come puoi vedere, la mia area di sosta è pulita.

$ git stato

Ora, per rimuovere l'ultimo commit e rimuovere le modifiche in quel commit, esegui il seguente comando:

$ git reset --hard HEAD~1

L'ultimo commit dovrebbe essere rimosso e il TESTA il puntatore dovrebbe essere aggiornato.

Come puoi vedere, il commit aec00f3 viene rimosso e il commit immediatamente prima di quello (3fffdee) è l'attuale l'ultimo commit.

$ git log --oneline

Anche l'area di sosta è pulita. Quindi, esistono file di modifiche dal commit rimosso.

$ git stato

Aggiornamento del repository Git remoto:

Ora che hai rimosso con successo il commit errato dal tuo repository Git, potresti voler aggiornare anche il tuo repository GitHub. Questo è l'argomento di questa sezione.

Come potete vedere, stato git mostra anche che sono indietro di 1 commit dal repository remoto.

Prima di aggiornare il mio repository GitHub, il commit aec00f3 esiste anche se l'ho rimosso dal repository Git locale come puoi vedere.

Per sincronizzare il repository Git locale con il repository GitHub, esegui il seguente comando:

$ git push --force origin ie-fix

Le modifiche del repository Git locale dovrebbero essere sincronizzate con il repository GitHub.

Il repository GitHub dovrebbe essere aggiornato. Come puoi vedere, il commit aec00f3 non è più elencato. Il commit subito prima aec00f3, che è 3fffdee è ora l'ultimo commit.

Quindi, è così che annulli l'ultimo commit in Git. Grazie per aver letto questo articolo.

Vulkan per utenti Linux
Con ogni nuova generazione di schede grafiche, vediamo gli sviluppatori di giochi spingere i limiti della fedeltà grafica e avvicinarsi di un passo al...
OpenTTD vs Simutrans
Creare la tua simulazione di trasporto può essere divertente, rilassante ed estremamente allettante. Ecco perché devi assicurarti di provare quanti pi...
Tutorial OpenTTD
OpenTTD è uno dei giochi di simulazione aziendale più popolari in circolazione. In questo gioco, devi creare una meravigliosa attività di trasporto. T...