Per impostazione predefinita, Git è installato su computer Linux e macOS come opzione di riga di comando. Tuttavia, Microsoft Windows non include un comando Git. Di seguito sono riportati i passaggi su come installare e utilizzare Git e GitHub su Microsoft Windows.
Installazione di Git su Windows
- Apri il sito web Git.
- Fai clic su Download per scaricare Git. Il download dovrebbe iniziare automaticamente.
- Una volta scaricato, avvia l'installazione dal browser o dalla cartella di download.
- Nella finestra Seleziona componenti, lascia tutte le opzioni predefinite selezionate e controlla tutti gli altri componenti aggiuntivi che desideri installare.
- Successivamente, in Scelta dell'editor predefinito, usato da Git a meno che tu non abbia familiarità con Vim, ti consigliamo vivamente di utilizzare un editor di testo con cui ti senti a tuo agio. Se è installato Notepad ++, ti consigliamo di usarlo come editor. Se non è installato, è possibile annullare l'installazione e installare Notepad ++ e quindi riavviare l'installazione di GitHub.
- Successivamente, in Regola il tuo ambiente PATH, si consiglia di mantenere l'opzione predefinita Usa Git dalla riga di comando e anche dal software di terze parti come mostrato di seguito. Questa opzione ti permetterà di usare Git da Git Bash o dal Prompt dei comandi di Windows.
- Successivamente, si consiglia di lasciare il valore predefinito Usa OpenSSH.
- Poi, in Scelta del back-end di trasporto HTTPS, lascia l'impostazione predefinita Usa la libreria OpenSSL selezionata.
- In Configurazione delle conversioni di fine riga, seleziona Verifica in stile Windows, esegui il commit delle terminazioni di linea in stile Unix a meno che non ti servano altre terminazioni di linea per il tuo lavoro.
- Nella finestra Configurazione dell'emulatore di terminale da utilizzare con Git Bash, selezionare Usa MinTTY (il terminale predefinito di MSYS2).
- Nella finestra Configurazione opzioni extra, lascia selezionate le opzioni predefinite a meno che non siano necessari link simbolici.
- Fai clic sul pulsante Installa
- Una volta completato, è possibile selezionare l'opzione Avvia Git Bash se si desidera aprire una riga di comando di Bash o, se è stata selezionata la riga di comando di Windows, eseguire Git dalla riga di comando di Windows.
- Come utilizzare la riga di comando di Windows (DOS).
- Tutorial sulla shell di Linux.
Configurazione e connessione a un repository remoto
Nel nostro esempio, stiamo usando GitHub come memoria per il nostro repository remoto. Di seguito sono riportati i passaggi su come connettersi a un repository GitHub. Se non si conosce GitHub, consultare: Come creare un repository GitHub.
- Dalla riga di comando, passa alla directory in cui vuoi contenere il tuo repository Git.
- Digita il seguente comando per configurare il tuo nome utente Git, dove <il tuo nome> sarà il tuo nome utente GitHub.
git config --global user.name "<il tuo nome>"
- Dopo aver inserito il comando sopra, verrai reindirizzato al prompt dei comandi. Quindi, inserisci il tuo indirizzo e-mail digitando il comando seguente, dove <la tua e-mail> è il tuo indirizzo e-mail.
git config --global user.email "<la tua e-mail>"
- Una volta completati i passaggi precedenti, sarai pronto per connetterti a un repository remoto. Per trovare l'indirizzo del repository, vai su un repository su GitHub e fai clic sul collegamento Clona o scarica repository per ottenere l'indirizzo. Ad esempio, abbiamo creato un repository chiamato "esempio" all'indirizzo https://github.com/Computerhope/example.git. Copia l'indirizzo negli appunti.
- Una volta copiato, torna alla riga di comando e digita il seguente comando, dove <URL> è l'indirizzo che hai copiato. Per incollare quell'indirizzo nella riga di comando, fai clic con il pulsante destro del mouse nella finestra della riga di comando e fai clic su incolla.
clone git <URL>
- Una volta creato il repository Git, avrai una nuova directory nella directory corrente con il nome del repository Git.
- Dopo aver clonato il repository remoto Git nel repository locale, dovrebbe apparire una nuova cartella nella directory corrente con il nome del repository Git. Ad esempio, nel nostro "esempio" Git avremmo una nuova directory chiamata "esempio". Utilizza il comando cd per passare alla nuova directory.
- Una volta nella nuova directory, digitare il comando seguente per elencare i repository remoti.
telecomando remoto
- Se ha esito positivo, il nome del ramo Git principale sarà "origine". Per visualizzare gli alias (URL o percorso), digita il comando seguente.
git remote -v
L'esecuzione di ciascuno dei comandi sopra ti dà un output simile a quello mostrato nel nostro esempio di seguito.
Ora che ti sei connesso a un repository remoto su GitHub, sei pronto per iniziare a lavorare sui file e inviarli ed estrarli mentre aggiorni i file.
Lavorare nel tuo repository locale e inviando i file
Dopo aver seguito i passaggi precedenti e aver clonato un repository remoto, puoi lavorare sui file come faresti normalmente. Puoi creare nuovi file o modificare file esistenti dalla riga di comando o dal tuo editor di testo preferito. Di seguito sono riportati i passaggi per creare un nuovo file, inviare quel file, modificare un file esistente e fare l'aggiornamento.
Creazione di un nuovo file e invio al repository remoto
- Crea un nuovo file nella directory Git digitando il seguente comando dalla riga di comando di Bash o Windows. Il seguente comando si apre e crea un file chiamato esempio.txt in Blocco note. In Git Bash, puoi anche usare il comando touch per creare un nuovo file vuoto e poi digitare "start <nome del file>" per aprire il file nel tuo editor di testo preferito.
avvia notepad example.txt
- Nell'editor di testo, inserisci un testo nel file, salva ed esci.
- Torna alla riga di comando e digita il comando seguente per ottenere lo stato corrente del ramo e dei file non tracciati.
stato git
- Git visualizza una finestra simile all'esempio mostrato di seguito, che mostra che il file che abbiamo creato è nuovo e non tracciato da Git.
- Come menzionato nelle note e visto nell'immagine, ora vorremmo aggiungere questo file a Git per essere rintracciato digitando il seguente comando. Se il tuo file non è denominato "esempio.txt", potresti cambiare il testo con il nome del tuo file.
git aggiungi example.txt
- Dopo aver immesso il comando precedente, il file viene aggiunto come nuovo file noto anche come staging. Digitando di nuovo status git ti viene mostrato in verde che il file è nuovo e pronto per il commit.
- Quindi, digita il comando seguente per confermare le modifiche apportate nell'area di lavoro locale al repository locale. Nell'esempio che segue, le nostre note "Primo esempio" dovrebbero essere note che avranno senso per te e chiunque altro possa collaborare con te al tuo progetto.
git commit -m "Primo esempio"
- Infine, ora che le modifiche vengono spostate dallo spazio di lavoro nel repository locale, è pronto per essere trasferito nel repository remoto. Digita il comando seguente per inviare tutte le modifiche al repository remoto.
spingere
Una volta che il file è stato inviato, viene visualizzato nel repository remoto GitHub ed è disponibile per tutti gli altri che stanno lavorando con lo stesso repository.
Modifica di un file e invio al repository remoto
- Edita e modifica uno o più file in Git.
- Digita git status per visualizzare lo stato di tutti i file non ancora impegnati dallo spazio di lavoro al repository locale.
- Digita il seguente comando per aggiungere tutti i file. Il periodo singolo indica che si desidera aggiungere tutti i file al repository locale. Alcune persone potrebbero anche usare git add -A per aggiungere tutto.
aggiungi git.
- Dopo aver aggiunto i file, digita il comando seguente per eseguire il commit. Modifica le note da applicare al tuo commit.
git commit -m "Secondo aggiornamento"
- Infine, digita git push per inviare il commit al repository remoto.
Estrazione o recupero degli aggiornamenti dal repository remoto
Se è passato un po 'di tempo da quando hai svolto qualche lavoro, esegui il comando git pull per ottenere gli ultimi aggiornamenti dal repository remoto e unirli nel tuo repository locale. Estraendo tutti gli aggiornamenti da un repository prima di eseguire il commit, è possibile assicurarsi che il repository locale e il repository remoto siano gli stessi per evitare conflitti di unione.
Per ottenere tutte le modifiche senza unire, esegui il comando git fetch per prendere tutti gli ultimi aggiornamenti dal repository remoto senza unire nessuna delle nuove modifiche.
Come affrontare un conflitto di unione Git
Quando più persone lavorano con gli stessi file, incontrerai conflitti di unione. Quando si verifica un conflitto, Git modifica i file locali e spetta a te correggere manualmente i file con i conflitti.
Apri il file con il conflitto per iniziare a correggere gli errori. Nel seguente file di esempio, avevamo un file di testo con una riga di testo e nel repository locale abbiamo aggiunto il testo "update1" al file. Tuttavia, allo stesso tempo, il file del repository remoto è stato modificato e ha aggiunto "update2" al file sulla stessa riga. Git contrassegna i conflitti con "<<<<<<< HEAD" per le linee nel ramo corrente e tutto ciò che segue "=======" come le modifiche remote, seguite da ">>>>>>> <hash>" per rappresentare la fine.
Un altro file che viene caricato tra pull. <<<<<<< HEAD update1 ======= update2 >>>>>>> 62ee0eeba2e5b94d10574c1a6a68216e9b392e4c
Per risolvere questo conflitto di unione, dovremmo decidere quale testo desideriamo conservare, aggiornare o rimuovere. In questo esempio, vogliamo mantenere "update1" e "update2" nell'ordine in cui sono elencati, quindi dovremmo solo rimuovere i segni Git per rendere il file simile al seguente esempio.
Un altro file che viene caricato tra pull. update1 update2
Una volta apportate le modifiche al file, potremmo salvare il file e quindi eseguire i seguenti comandi git per aggiornare le correzioni.
aggiungi git.
git commit -m "Risolto il conflitto di unione"
git push origin master
L'esempio fornito in questo conflitto di unione è un esempio molto semplice. Quando si ha a che fare con un file con più righe di testo o grandi sezioni di codice, unire i conflitti può diventare molto più confuso. Per semplificare la gestione dei conflitti di unione, è possibile utilizzare il comando git mergetool per utilizzare uno strumento di unione, come WinMerge o un altro strumento di unione conosciuto.
Creazione di un ramo Git
La creazione di un ramo consente di creare un duplicato del master (trunk) e di apportare numerosi aggiornamenti senza influire sul master. Ad esempio, quando si sviluppa un programma, se fosse necessaria una grande correzione che potrebbe richiedere settimane o mesi, è possibile creare un ramo per quella correzione. Dopo aver corretto il bug, puoi ricollegare il tuo ramo al master.
Per creare un ramo nel repository locale, bisogna seguire i passaggi seguenti.
- Nella directory principale di Git, digita il comando seguente, dove "<Nuovo ramo>" è il nome del nuovo ramo. Ad esempio, potremmo chiamare il ramo "esempiobranch".
git branch <Nuovo ramo>
- Quindi, digita il comando seguente per passare al ramo.
git checkout <nome filiale>
- Dopo aver inserito il comando sopra, il prompt (in Git Bash) cambia da "master" al nome del ramo per indicare che stai lavorando in un ramo e non nel master.
- Da questo punto, puoi continuare a usare Git e modificare i file come hai fatto in passato.
- Per vedere tutti i rami disponibili, puoi usare il comando git branch. Ad esempio, digitando git branch vengono visualizzati i rami del repository locale. Digitando git branch -a vengono visualizzati tutti i repository locali e remoti.
- Se è necessario inviare il ramo al repository remoto, è possibile eseguire il comando seguente.
git push --set-upstream origin <Nome filiale>
- Infine, se è necessario tornare al ramo principale, è possibile digitare il comando seguente.
git checkout master
Come unire nuovamente un ramo nel master
Dopo aver completato il tuo lavoro in un ramo, ti consigliamo di unirlo nuovamente nel master o in un altro ramo seguendo i passaggi seguenti.
- Spostati nel ramo in cui desideri unirti. Ad esempio, se si desidera ricollegarsi al master, bisogna digitare il comando seguente.
git checkout master
- Una volta nel master, è necessario digitare il comando seguente per unire il ramo.
git merge <Nome filiale>
- Una volta eseguita l'unione, aggiungi i file.
- Successivamente, esegui il commit delle modifiche.
- Una volta uniti, invia il merge digitando il seguente comando. Se si verificano conflitti durante il merge, consulta la nostra sezione su come gestire i conflitti di unione.
spingere
Come eliminare un ramo locale e remoto
Se, dopo aver unito un ramo, non si desidera più conservare il ramo locale o remoto, è possibile eseguire i seguenti comandi.
Per eliminare il ramo locale, digitare il comando seguente.
git branch -d <Nome ramo>
Per eliminare il ramo remoto, digitare il comando seguente.
git push origin --delete <Nome filiale>