GNU/Linux >> Linux Esercitazione >  >> Linux

Esercitazione avanzata su Git

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

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

  1. Filiale :La ramificazione aiuta a creare una nuova linea di sviluppo per evitare qualsiasi pasticcio sul ramo principale.
  2. Tagga :Un tag in Git è un riferimento alla cronologia di Git.
  3. Rinomina un ramo : Rinominare una filiale significa cambiare il nome della filiale esistente e avere il nostro codice esistente su una filiale con un nuovo nome.
  4. Ripristina un commit : Il ripristino aiuta ad annullare le modifiche nel repository locale e remoto.

Prerequisiti

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

Cosa faremo?

  1. Crea una filiale.
  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 suo 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. Per prima cosa, dobbiamo effettuare il checkout nel 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 tag

Creare un tag è semplice come creare un ramo. Innanzitutto, apportiamo alcune modifiche al 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 tag abbiamo e ci impegniamo 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

Il modo in cui effettuiamo il checkout in una filiale, possiamo anche effettuare il checkout in un determinato 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

Rinomina 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 anche 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 ripristinare il tuo commit e continuare a conservare le modifiche in locale, puoi utilizzare i seguenti comandi per eseguire un ripristino software.

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 modifiche in locale 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 potrebbe essere necessario annullare i commit dal repository remoto. Per fare ciò, devi trasferire le modifiche al ramo con "+" come suffisso del nome del ramo dopo aver ripristinato le modifiche in 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 trattato scenari come la creazione di un ramo e di un tag. Abbiamo visto come rinominare un ramo se ci rendiamo conto che dobbiamo 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.


Linux
  1. 6 opzioni di formattazione tcpdump avanzate

  2. Come creare tag Git

  3. Git Completamento automatico?

  4. Come passare l'output di un comando come argomento a un altro?

  5. Controlla se il repository git locale è avanti/dietro il telecomando

Controllo audio avanzato su Linux

Come eliminare un ramo Git in remoto e in locale

Come creare, rinominare ed eliminare branch Git

Tutorial passo passo sullo scripting della shell

Come controllare la versione con Git sulla riga di comando

Tutorial Unix Sed:esempi di sostituzione Sed avanzati