Reimpostare un branch
Fa parte della sezione Controllo delle versioni del percorso Terminal di Coddy. Lezione 44 di 58.
git reset sposta il puntatore del ramo corrente su un commit diverso. L’uso più comune è annullare i commit recenti che non hai ancora condiviso.
git reset --hard HEAD~1Questo riporta main indietro di un commit e sovrascrive la directory di lavoro per renderla corrispondente. Il commit che hai saltato non è più raggiungibile dal tuo ramo (Git lo conserva per un po' nel caso cambiassi idea, ma aspettati che scompaia).
Esistono tre tipi di reset:
--soft: sposta il puntatore del branch; mantieni le modifiche nell'area di staging--mixed(predefinito): sposta il puntatore; rimuovi le modifiche dall'area di staging ma mantieni i file di lavoro--hard: sposta il puntatore; elimina anche le modifiche ai file di lavoro
--hard è la forma più distruttiva. È ottimo per correggere gli errori locali, ma non usarlo mai sui commit che altre persone hanno già scaricato.
Sfida
MedioLa cartella contiene doc.md. Inizializza il repository e crea tre commit in quest’ordine:
- Aggiungi
doc.mdcon il messaggioAdd doc. - Aggiungi
secondadoc.md, esegui il commit con il messaggioSecond draft. - Aggiungi
thirdadoc.md, esegui il commit con il messaggioThird draft.
Reimposta forzatamente il ramo al primo commit usando HEAD~2. Stampa il contenuto di doc.md.
Provalo tu
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Controllo delle versioni
4Esaminare le modifiche
Git DiffDifferenze delle modifiche in stagingGit ShowRiepilogo: lavoro da detective2Per iniziare
Inizializzare un repositoryLa cartella .gitConfigura la tua identitàStato di GitRiepilogo - Primo repository5Ignorare i file
Perché ignorare i filePattern di .gitignoreVerificare le regole di ignoramentoRiepilogo - Repository pulito8Unione
Che cos’è un mergeMerge fast-forwardMerge a tre vieConflitti di mergeRisolvere un conflittoRipasso - Maestro del merge11Progetto con un ramo di funzionalità
Panoramica del progettoInizializzare main3Tracciare le modifiche
L'area di stagingGit AddGit CommitModificare un file tracciatoGit LogRiepilogo: i primi commit6Progetto di un sito di ricette
Panoramica del progettoInizializzare e ignorare9Annullare le modifiche
Scartare le modifiche non in stagingRimuovere un file dallo stagingModificare l’ultimo commitAnnullare un commitReimpostare un branchRiepilogo - Macchina del tempoEsercitati da solo: Playground Terminal