Ricerca nel sito web

Esercitazione avanzata su Git


Su questa pagina

  1. Prerequisiti
  2. Cosa faremo?
  3. Crea un ramo
  4. Unisci un ramo al ramo principale
  5. Crea un tag
  6. Rinomina un ramo
  7. Ripristina un commit
  8. Conclusione

Questo articolo è la continuazione del mio articolo esistente Introduzione a GIT su Linux. Se sei nuovo su Git, ti consiglio di leggere prima il mio articolo precedente e poi continuare con questo.

In questo articolo tratteremo la creazione di un ramo, un tag, la ridenominazione del ramo e il ripristino dei commit su Git.

  1. Ramo: il ramo aiuta a creare una nuova linea di sviluppo per evitare problemi con il ramo principale.
  2. Tag: un tag in Git è un riferimento alla cronologia di Git.
  3. Rinomina un ramo: rinominare un ramo significa cambiare il nome del ramo esistente e avere il nostro codice esistente su un ramo con un nuovo nome.
  4. Annulla un commit: il ripristino aiuta ad annullare le modifiche nel repository locale e remoto.

Prerequisiti

  1. Comprensione di base di Git (fai clic qui per apprendere le basi di Git).

Che cosa faremo?

  1. Crea un ramo.
  2. Unisci un ramo al ramo principale.
  3. Crea un tag.
  4. Rinomina un ramo.
  5. Ripristina un commit.

Crea un ramo

Vai al tuo repository locale e controlla il tuo ramo e il relativo stato utilizzando i seguenti comandi prima di creare un nuovo ramo. Qui, test-repo è il nome del mio repository.

pwd
git status
git log
git branch

Crea un nuovo ramo nel tuo repository esistente ed effettua il check-out.

git branch
git branch my-feature-branch
git branch
git checkout my-feature-branch
git branch

Creiamo un nuovo file e inseriamolo nel ramo che abbiamo creato.

ll
touch new-file-in-my-feature-branch
git status
git add new-file-in-my-feature-branch
git commit -m "created a new file in my-feature-branch"
git push
git push --set-upstream origin my-feature-branch

Unisci un ramo al ramo principale

Se vogliamo che le nostre modifiche nel nuovo ramo vengano unite nel ramo principale, possiamo usare i seguenti comandi per unire quelle modifiche nel ramo che vogliamo. Innanzitutto, dobbiamo effettuare il checkout al ramo principale e quindi unire il ramo che abbiamo creato.

ll
git branch
git checkout main
ll
git merge my-feature-branch
ll

Crea un'etichetta

Creare un tag è semplice come creare un ramo. Innanzitutto, apportiamo alcune modifiche nel repo, quindi creiamo un tag. Dobbiamo ancora eseguire il commit delle modifiche prima di inviarle al repository remoto.

git tag
ll
touch new-file-for-tag
git status
git add new-file-for-tag
git tag -a mytag.v1 -m
git tag -a mytag.v1 -m "create a tag"
git tag
git log
git status
git commit -m "create a tag mytag.v1"
git push

Possiamo controllare quali sono tutti i tag che abbiamo e impegnarci con quei tag. Il modo in cui spingiamo il nostro ramo possiamo anche spingere i tag.

git tag
git show mytag.v1
git push origin mytag.v1

Nel modo in cui effettuiamo il checkout in una filiale, possiamo effettuare il checkout anche in un particolare tag.

git branch
git tag
git checkout mytag.v1
git branch

Diamo un'occhiata al ramo principale prima di procedere oltre.

git branch
git checkout main
git branch

Rinominare un ramo

A volte potresti sentire la necessità di rinominare il tuo ramo. Puoi farlo molto facilmente usando i seguenti comandi.

git branch
git branch wrong-brach
git checkout wrong-brach
touch file-in-wrong-branch
git add file-in-wrong-branch
git commit -m "Created a branch wrong-brach with a new file"
git push
git push --set-upstream origin wrong-brach
git branch
git branch --move wrong-brach correct-branch
git branch
push --set-upstream origin correct-branch

Puoi persino eliminare il ramo dal repository remoto.

git branch
git branch -a
git push origin --delete  wrong-brach
git branch -a

Ripristina un commit

Nel caso in cui desideri annullare il commit e conservare comunque le modifiche in locale, puoi utilizzare i seguenti comandi per eseguire un soft reset.

git branch
git checkout main
git log
git reset --soft HEAD~1
git log

Puoi vedere che dopo aver ripristinato il commit, le modifiche locali sono ancora disponibili.

git status
git pull
git log
git status

Se vuoi ripristinare il tuo commit e non vuoi conservare le tue modifiche localmente puoi usare i seguenti comandi ed eseguire un hard reset

git log
git reset --hard HEAD~1
git status
git log

In questo caso, puoi vedere che dopo aver ripristinato il tuo commit non hai le tue modifiche localmente

git status
git pull
git log

Nei due scenari precedenti, abbiamo visto il ripristino dei commit locali. A volte potresti dover ripristinare i commit dal repository remoto. Per fare ciò, devi inviare le modifiche al ramo con \+\ come suffisso al nome del ramo dopo aver ripristinato le modifiche a livello locale.

git branch
git log
git reset --hard HEAD~1
git push +main
git push origin  +main

Puoi vedere che il repository remoto non contiene il commit che è stato ripristinato.

Conclusione

In questo articolo, abbiamo coperto scenari come la creazione di un ramo e un tag. Abbiamo visto come rinominare un ramo se ci rendiamo conto di dover cambiare il nome del ramo esistente. Abbiamo anche visto che i commit nel repository locale, così come nel repository remoto, possono essere ripristinati. Ora puoi utilizzare i comandi di questo articolo e provarli da solo.