Guida per principianti a Git

Immagine in evidenza della guida Git

Git è un programma meraviglioso. È un’utilità di controllo versione che ti consente di gestire senza problemi la cronologia delle modifiche di un file. Anche se questo potrebbe sembrare semplice e poco impressionante, la forza di Git risiede nel fatto che puoi estendere questa cronologia a interi gruppi di file e directory.

Questo significa che è possibile utilizzare Git per tenere traccia di ogni modifica in ogni file per ogni directory. Questo è molto utile se stai facendo un progetto in cui desideri avere un’istantanea continua di tutto ciò che stai facendo.

Indice

  • Cos’è Git?
  • Installazione di Git
  • Utilizzare Git per un progetto locale
  • Utilizzare Git per progetti online
  • Domande frequenti

Leggi anche: Come determinare se un sito web è legittimo e sicuro da usare

Cos’è Git?

Alla sua base, Git è un semplice programma di tracciamento della cronologia. In questo, tiene traccia delle modifiche tra le diverse versioni di un file. Il modo in cui funziona è che ogni volta che cambi un file, Git creerà un hash per quella specifica versione del file.

Da lì, confronta e analizza questi hash rispetto all’”albero Git” del repository. Facendo in questo modo, Git può memorizzare solo la differenza tra più versioni di file.

Guida Git Albero Git Master

Ad esempio, se stai scrivendo uno script sotto Git e hai apportato un paio di modifiche. Git memorizzerà solo l’hash delle prime due modifiche e hash il file attuale rispetto alle prime due. In questo modo, Git può ricostruire le versioni precedenti senza memorizzare più copie dello stesso file.

Guida Git Info Diff

Questo approccio ti consente anche di scalare facilmente i tuoi file e directory a un progetto più grande. Poiché Git memorizza tutti i dati storici come hash, ha bisogno di operare solo sulla tua macchina locale. Pertanto, puoi facilmente esportare il tuo lavoro ad altre persone e importare i loro contributi senza la necessità di software di gestione esterno.

Installazione di Git

Git è un pacchetto molto comune nei sistemi operativi basati su Linux. Per questo motivo, installarlo è incredibilmente facile. Nella maggior parte dei casi, è già preinstallato nel tuo sistema. Se stai usando Debian o Ubuntu, puoi usare apt per installare Git:

sudo apt install git

Guida Git Installazione di Git

Per Fedora o RHEL, usa dnf:

sudo dnf install git-all

Nel frattempo, se stai usando Arch Linux, puoi anche installare Git usando pacman:

sudo pacman -S git

Utilizzare Git per un progetto locale

Utilizzare Git sulla tua macchina locale è molto semplice. La prima cosa che devi fare è creare un nuovo repository Git. Il suo scopo principale è fungere da contenitore per tutti gli oggetti Git che aggiungerai per questo progetto.

Nella cartella che desideri monitorare, esegui i seguenti comandi:

cd my-project  
git init

Guida Git Git Init

Una volta fatto, Git creerà una cartella “.git” nella radice della tua directory di progetto. Questa fungerà sia da marcatore per il programma Git sia da cartella di archiviazione per tutti gli oggetti Git per quel progetto.

Aggiungere file esistenti al tuo repository

Con un repository Git funzionante, la prossima cosa da fare è importare eventuali file esistenti in Git. Questo perché Git non tiene traccia di alcun file quando crei per la prima volta un nuovo repository.

Per farlo, puoi eseguire il seguente comando nella directory radice della tua cartella:

git add .

Questo comando dirà a Git di includere tutti i file e le cartelle nella directory corrente. Puoi quindi confermare questo eseguendo il seguente comando:

git diff --cached

Guida Git Nuovo Git Ls

Leggi anche: Come cancellare la cache di Git

Commettere il tuo primo repository

Con i tuoi file ora nel repository, la prossima cosa che devi fare è scrivere quelle modifiche nel filesystem di Git. Questo assicura che etichetterà e hash tutti i nuovi file nella tua cartella. Per fare ciò, dovrai “commettere” lo stato attuale del repository.

Per farlo, puoi eseguire il seguente comando:

git commit -a

Questo dirà a Git di scrivere tutto ciò che ha in cache nel filesystem virtuale.

Da lì, Git ti chiederà una descrizione su questo specifico commit. Questo ti permetterà di fornire una breve spiegazione su cosa contiene e un modo per distinguere facilmente questo commit dagli altri. Nel mio caso, poiché questo è il mio primo commit, scriverò semplicemente “Commit iniziale”.

Guida Git Primo Commit

Con questo, puoi ora controllare se Git riconosce tutti i file nella tua directory eseguendo il seguente comando:

git ls-files

Guida Git Nuovo Git Ls

Se durante quanto sopra, Git restituisce un errore dicendo che non può riconoscerti, dovrai dirgli chi sei. Farlo è semplice come inserire:

git config --global user.name "Il_Tuo_Nome_Utente"  
git config --global user.email "[email protected]"

Operazioni di base sui file in Git

Per la maggior parte, i comandi UNIX funzioneranno con Git. Questo significa che puoi usare ls, cp, mv e rm su tutti i file e le cartelle all’interno di un repository Git. Tuttavia, ci sono un certo numero di comandi specifici che puoi utilizzare per manipolare facilmente gli oggetti Git.

Ad esempio, puoi usare il sottocomando ls-tree per visualizzare il contenuto di un albero Git specifico e il valore hash attuale di ciascun file.

git ls-tree master

Guida Git Nuovo Ls Tree Master

Un altro comando che puoi utilizzare è la versione Git di mv. Questo ti consente di spostare file ovunque all’interno del repository e mantenere comunque la loro cronologia.

git mv ./hello.file ./welcome.file

Questo può essere utile se desideri rinominare un file nel controllo versione ma desideri anche avere la possibilità di ripristinare quella modifica tramite Git.

Sapendo ciò, puoi eseguire il seguente comando per rinominare un file senza perdere la sua cronologia.

Guida Git Git Mv

Infine, Git fornisce anche un sottocomando per rimuovere oggetti. Simile a mv, puoi utilizzare una versione Git di rm per rimuovere un file nel tuo repository attuale. Farlo in questo modo ti consente di rimuovere pulitamente l’oggetto attuale per quel particolare file.

git rm ./old.file

Guida Git Git Rm

Clonare un repository remoto

È anche possibile importare un repository remoto sulla tua macchina locale. Questo è utile quando hai bisogno di copiare un progetto diverso attraverso la rete. Git ti offre la possibilità di clonare un repository già esistente.

Il modo in cui funziona il cloning è che Git copia completamente l’albero di un progetto remoto. Questo consente di ricreare l’intera cronologia di un repository così come esiste in quel momento specifico nel tempo.

git clone https://github.com/git/git.git

Guida Git Clonazione Repo

È anche possibile clonare repository che esistono solo in una rete locale. Questo è utile se stai collaborando con altre persone su LAN. Inoltre, il processo di clonazione di un progetto in una rete locale è esattamente lo stesso:

git clone 192.168.1.100:/home/bob/awesome-project

Leggi anche: Come utilizzare l’alias di Git per rendere Git più efficiente

Utilizzare Git per progetti online

Con questo, un altro modo di collaborare con altre persone è attraverso l’hosting di terze parti. In questo, stai utilizzando un servizio remoto come Github per ospitare il tuo progetto su Internet. Questo può essere incredibilmente utile se hai bisogno di un modo rapido e semplice per distribuire il tuo lavoro a un vasto pubblico.

Guida Git Sito Web Github

Non solo, un servizio come Github semplifica anche il processo di creazione e mantenimento di un repository. Pertanto, è un servizio potente se intendi fare progetti collaborativi con altre persone su reti remote.

Creare il tuo primo repository online

Sapendo ciò, avviare un repository tramite Github è incredibilmente facile. Una volta effettuato l’accesso al tuo account, il sito ti reindirizzerà alla tua pagina personale.

Questa pagina mostrerà gli ultimi aggiornamenti sui progetti che stai attualmente seguendo. Questo include una breve cronologia di tutti i tuoi contributi ad altri progetti.

Guida Git Pagina di atterraggio Github

Da qui, devi fare clic sul segno “+” accanto alla tua foto profilo. Questo aprirà un piccolo menu a discesa in cui puoi scegliere una serie di azioni per il tuo account. Devi quindi fare clic sul link “Nuovo Repository” da quel menu.

Guida Git Nuovo Repo Github

Questo è il punto in cui puoi specificare i dettagli per il progetto che desideri fare online. Da lì, devi impostare una serie di opzioni per affinare il tuo progetto.

Guida Git Pagina Nuovo Repo

Prima di tutto, devi fornire un nome per il tuo repository. Questo servirà come nome che altre persone possono cercare quando cercano il tuo repository.

Successivamente, devi impostare le impostazioni sulla privacy per il tuo progetto. Puoi scegliere tra Pubblico e Privato. Un repository pubblico consente ad altre persone di cercare il tuo progetto online, mentre uno privato ti consente di condividerlo solo con alcune persone.

Infine, devi fare clic sul pulsante “Crea Repository” per finalizzare il tuo nuovo progetto.

Leggi anche: Come eliminare un ramo Git locale e remoto

Collegare Github alla tua macchina locale

Con questo, la prossima cosa che devi fare è collegare la tua macchina locale al tuo account Github. Per fare ciò, devi fare due cose:

  • Prima di tutto, devi creare una chiave SSH per la tua macchina. Questa è una breve chiave crittografica che puoi generare localmente nel tuo computer.
  • Infine, devi dire a Github la tua attuale chiave SSH. Questo consente alla tua macchina di avere un’identità fissa su Github. A sua volta, utilizza questa identità per verificarti ogni volta che aggiorni il tuo repository.

Creare la tua chiave SSH

Se stai usando Debian o Ubuntu, puoi installare SSH usando apt:

sudo apt install ssh

Guida Git Installazione di Ssh

Da lì, puoi quindi eseguire il programma ssh-keygen per creare la chiave ssh:

ssh-keygen -t ed25519 -C "[email protected]"  
ssh-add /home/$USER/.ssh/id_ed25519

Collegare la tua chiave SSH

Torna al tuo Dashboard di Github, fai clic sulla tua foto profilo e poi su Impostazioni.

Guida Git Impostazioni Account Github

Questo aprirà le impostazioni generali per il tuo account Github. Da qui, devi fare clic sul link “Chiavi SSH e GPG” sotto la sezione “Accesso” nella barra laterale sinistra della pagina.

Guida Git Chiave SSH Account Github

Fai clic sul pulsante “Nuova chiave SSH” accanto all’intestazione “Chiavi SSH”. Questo caricherà quindi la pagina di configurazione della chiave in cui puoi copiare il contenuto della tua nuova chiave SSH.

Guida Git Pagina Nuova Chiave Ssh

Apri il tuo file chiave (nel mio caso, il file chiave id_ed25519.pub nella directory “~/.ssh”) in un editor di testo. Copia il contenuto e incollalo su Github.

Caricare i commit locali online

L’ultimo passo è caricare il contenuto del tuo progetto locale online.

Sulla tua macchina locale, vai nella cartella Git ed esegui il comando:

git remote add origin [email protected]:ramcesred/my-project.git

Guida Git Aggiungi Nuovo Remote Origin

Da qui, devi quindi assicurarti che il tuo progetto locale sia attualmente sul suo ramo master. Questo è così che Git copierà la versione corretta del tuo progetto. Con questo, puoi assicurarti eseguendo il seguente comando:

git branch -M main

Infine, carica lo stato attuale del progetto online:

git push -u origin main

Guida Git Carica Repo Locale Online

Congratulazioni! Ora hai una configurazione di base funzionante per i progetti Git. Non solo, hai anche ora una comprensione di base di come funziona Git e come puoi farlo funzionare per te.

Leggi anche: Come installare Git e Git Bash in Windows

Domande frequenti

È possibile ottenere le modifiche che altre persone hanno apportato al mio progetto Git online?

Sì! È possibile copiare le modifiche che altre persone hanno apportato al tuo repository online. Puoi farlo eseguendo un pull dal tuo origin remoto.

Puoi facilmente ricevere eventuali aggiornamenti eseguendo il seguente comando: git pull origin main

Quali sono alcuni dei problemi a cui dovrei prestare attenzione quando utilizzo Git?

Uno dei maggiori problemi nell’utilizzare Git è che occupa molto spazio quando memorizza file binari. Questo include qualsiasi file che non è codificato in testo semplice, come immagini, formati di documenti di ufficio e programmi compilati.

Questo è principalmente perché gli algoritmi di compressione e hashing che Git utilizza per memorizzare oggetti favoriscono fortemente i file di testo semplice. È possibile includere file binari sotto controllo versione, tuttavia, è buona pratica evitarne l’uso con Git.

È possibile non includere file in un albero Git?

Sì! Puoi facilmente escludere file da un commit. Puoi utilizzare un file “.gitignore” per dire a Git che non vuoi includere determinati file.

Questo è un file di testo nascosto che crei nella cartella radice del tuo repository. In questo, includi i percorsi relativi di file e directory che desideri che Git ignori.

Crediti immagine: Unsplash