Articolo originale: 10 Git Commands Every Developer Should Know

Git è una parte importante dell'attività quotidiana di programmazione (specialmente se lavori in un team) ed è largamente usato nell'industria del software.

Visto che ci sono molti comandi che puoi usare, padroneggiare Git richiede tempo. Tuttavia alcuni comandi sono usati più frequentemente (alcuni quotidianamente). Pertanto in questo post condividerò e spiegherò i 10 comandi Git più usati che ogni sviluppatore dovrebbe conoscere.

Nota: per comprendere questo articolo, dovresti conoscere le basi di Git.

1. git clone

git clone è un comando per scaricare il codice sorgente esistente da un repository remoto (come Github, per esempio). In altre parole, git clone praticamente fa una copia identica dell'ultima versione di un progetto in un repository e la salva sul tuo computer.

Ci sono un paio di modi per scaricare il codice sorgente, ma per lo più preferisco la clonazione tramite https:

git clone <https://link-del-nome-del-repository>

Per esempio, se vuoi scaricare un progetto da Github, tutto quello che devi fare è cliccare sul pulsante verde "Clone or download", copiare l'URL dalla casella di testo e incollarlo dopo il comando "git clone", la cui sintassi ho mostrato qui sopra.

Questo effettuerà una copia del progetto nel tuo spazio di lavoro locale in modo che tu possa iniziare a lavorarci.

resim-4
Esempio di codice sorgente per Bootstrap da Github

2. git branch

I branch sono molto importanti nel mondo Git. Usando i branch, parecchi sviluppatori sono in grado di lavorare in parallelo sullo stesso progetto simultaneamente. Possiamo usare il comando git branch per creare, elencare ed eliminare branch.

Creare un nuovo branch:

git branch <nome-branch>

Questo comando crea un nuovo branch localmente. Per inviare il nuovo branch al repository remoto, devi usare questo comando:

git push -u <remoto> <nome-branch>

Visualizzare i branch:

git branch oppure git branch --list

Eliminare un branch:

git branch -d <nome-branch>

3. git checkout

Anche questo è uno dei comandi git più usati. Per lavorare in un branch, per prima devi spostarti su di esso. Usiamo git checkout principalmente per spostarci da un branch all'altro. Possiamo anche usarlo per verificare file e commit.

git checkout <nome-del-tuo-branch>

Ci sono alcuni passaggi che devi seguire per spostarti con successo tra i branch:

  • Devi eseguire l'azione di commit per le modifiche nel tuo branch corrente oppure devi accantonarle (git stash) prima di cambiare branch
  • Il branch sul quale vuoi portarti deve esistere localmente

C'è anche una comando scorciatoia che consente di creare e portarsi su un branch allo stesso tempo:

git checkout -b <nome-del-tuo-nuovo-branch>

Questo comando crea un nuovo branch localmente (-b sta per branch) quindi passa ad esso non appena viene creato.

4. git status

Il comando git status fornisce tutte le informazioni necessarie sul branch corrente.

git status

Possiamo raccogliere diverse informazioni, tra le quali:

  • se il branch corrente è aggiornato
  • se c'è qualcosa da passare a commit, da inviare al repository oppure da ottenere dal repository
  • se ci sono file nell'area di stage, non passati all'area di stage oppure non tracciati
  • se ci sono file creati, modificati o cancellati
resim-5
git status fornisce informazioni sui branch e sui file

5. git add

Quando creiamo, modifichiamo o cancelliamo un file, queste modifiche hanno luogo localmente e non saranno incluse nel prossimo commit (a meno che non modifichiamo la configurazione).

Dobbiamo utilizzare il comando git add per includere le modifiche di uno o più file nel prossimo commit.

Per aggiungere un file singolo:

git add <file>

Per aggiungere tutto in una volta:

git add -A

Come puoi vedere dalla videata precedente nella sezione 4, ci sono nomi di file in colore rosso, il che significa che questi file che non sono stati contrassegnati per essere inclusi nel prossimo commit.

Per includerli, dobbiamo usare git add:

resim-6
Dopo il comando git add, I file di colore verde saranno inclusi nel prossimo commit

Importante: Il comando git add non modifica il repository e i cambiamenti non saranno salvati a meno che non usiamo git commit.

6. git commit

Questo è forse il comando di Git maggiormente usato. Una volta che raggiungiamo un certo punto nello sviluppo, vogliamo salvare le nostre modifiche (che probabilmente si riferiscono a un'attività o alla risoluzione di un problema specifico).

git commit è come impostare un punto di controllo nel processo di sviluppo, al quale puoi tornare successivamente se necessario.

Dobbiamo anche scrivere un breve messaggio per spiegare cosa abbiamo sviluppato o modificato nel codice.

git commit -m "messaggio di commit"

Importante: git commit salva le tue modifiche solo localmente.

7. git push

Dopo avere eseguito il commit delle tue modifiche, la prossima cosa che vorrai fare sarà inviare le modifiche al server remoto. git push invia i tuoi commit al repository remoto.

git push <remoto> <nome-branch>

Tuttavia, se il tuo branch è nuovo, dovrai inviare anch'esso con il comando:

git push --set-upstream <remoto> <nome-del-tuo-branch>

oppure

git push -u origin <nome_branch>

Importante: git push invia solo le modifiche che sono state oggetto di commit

8. git pull

Il comando git pull viene usato per ottenere aggiornamenti dal repository remoto. È la combinazione dei comandi git fetch e git merge, il che significa che quando usiamo git pull otteniamo aggiornamenti dal repository remoto (git fetch) e applichiamo immediatamente le ultime modifiche localmente (git merge).

git pull <remoto>

Questa operazione potrebbe causare conflitti che potresti dover risolvere manualmente.

9. git revert

Talvolta dobbiamo annullare modifiche che abbiamo effettuato. Ci sono vari modi per annullare le modifiche, sia localmente che su remoto (a seconda delle necessità), ma dobbiamo essere cauti con questi comandi per evitare cancellazioni indesiderate.

Un modo più sicuro per annullare i nostri commit è l'uso del comando git revert. Per vedere la nostra cronologia di commit, per prima cosa usiamo git log --oneline:

resim
Cronologia dei commit del mio branch master

Poi dobbiamo solo specificare il codice hash vicino al commit che vorremmo annullare:

git revert 3321844

A questo punto, verrà aperto l'editor di testo predefinito e vedrai un testo come quello qui sotto. Digita semplicemente il comando per uscire dall'editor oppure modifica e salva il contenuto se vuoi modificare il messaggio di commit:

resim-2

Il comando git revert annullerà il commit specificato creando un nuovo commit senza eliminare quello vecchio:

resim-3
Il "nuovo" commit creato da git revert

Il vantaggio dell'uso di git revert è che non tocca la cronologia dei commit. Questo significa che puoi ancora vedere tutti i commit nella tua cronologia, anche quelli ripristinati.

Un'altra misura di sicurezza qui è che tutto accade localmente a meno che non inviamo (git push) i commit al repository remoto. Ecco perché git revert è più sicuro da usare ed è il modo da preferire per annullare i nostri commit.

10. git merge

Quando hai completato lo sviluppo nel tuo branch, e tutto funziona correttamente, il passo finale è integrare il branch nel suo branch genitore (dev o master). Ciò viene fatto con il comando git merge.

In pratica git merge integra il branch che stai usando con tutti i suoi commit con il branch dev (o master). È importante ricordare che prima devi portarti nel branch nel quale vuoi effettuare l'integrazione.

Per esempio, quando vuoi integrare un tuo branch nel branch dev:

Prima portati nel branch dev:

git checkout dev

Prima dell'integrazione, dovresti aggiornare il tuo branch dev locale:

git fetch

Alla fine, puoi integrare il tuo branch nel branch dev:

git merge <nome-branch>

Suggerimento: Assicurati che il tuo branch dev sia aggiornato all'ultima versione, prima di effettuare il merge, altrimenti potresti avere dei conflitti o altri problemi indesiderati.

Questi sono i 10 comandi git più usati durante la programmazione quotidiana. Ci sono molte altre cose da imparare su Git e le spiegherò successivamente in altri articoli.

Se vuoi saperne di più sullo sviluppo web, puoi seguirmi su Youtube!

Grazie per la lettura!