Come installare e utilizzare Git su Windows

Per impostazione predefinita, Git è installato su computer Linux e macOS come opzione della 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.

  1. Apri il sito Web Git.
  2. Fare clic sul collegamento Download per scaricare Git. Il download dovrebbe iniziare automaticamente.
  3. Una volta scaricato, avvia l'installazione dal browser o dalla cartella di download.
  4. Nella finestra Seleziona componenti, lasciare tutte le opzioni predefinite selezionate e controllare eventuali altri componenti aggiuntivi che si desidera installare.
  5. Successivamente, nella 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 che ti piace usare. Se è installato Notepad ++, ti consigliamo di utilizzarlo come editor. Se Notepad ++ non è installato, è possibile annullare l'installazione e installare Notepad ++ e quindi riavviare l'installazione di GitHub.
  6. Successivamente, nell'ambiente Adjusting your PATH, si consiglia di mantenere l'impostazione predefinita Use Git dalla riga di comando e anche da software di terze parti come mostrato di seguito. Questa opzione ti consentirà di utilizzare Git da Git Bash o dal prompt dei comandi di Windows.

  1. Avanti nel, ti consigliamo di lasciare il valore predefinito selezionato come Usa OpenSSH .
  2. Successivamente, in Scelta del back-end di trasporto HTTPS, lasciare l'impostazione predefinita Usa la libreria OpenSSL selezionata.
  3. Nella sezione Configurare le conversioni di fine riga, seleziona Stile Windows di controllo, termina le terminazioni di linea in stile Unix a meno che tu non abbia bisogno di altre terminazioni di riga per il tuo lavoro.
  4. Nella configurazione dell'emulatore di terminale da utilizzare con la finestra di Git Bash, selezionare Usa MinTTY (il terminale predefinito di MSYS2) .
  5. Nella finestra Configurazione opzioni extra lasciare le opzioni predefinite selezionate a meno che non siano necessari collegamenti simbolici.
  6. Fai clic sul pulsante Installa
  7. Una volta completato, puoi selezionare l'opzione Avvia Git Bash se vuoi aprire una riga di comando di Bash o, se hai selezionato la riga di comando di Windows, esegui Git dalla riga di comando di Windows.

Suggerimento: ti consigliamo vivamente di utilizzare Git dalla riga di comando e di non utilizzare un'interfaccia GUI. Utilizzerai la riga di comando solo per interfacciarti con Git per gestire i file. La modifica può ancora essere effettuata tramite un editor di testo o IDE di tua scelta. Se sei nuovo nella riga di comando, puoi trovare aiuto per navigare nella riga di comando di Windows e Linux (Bash) attraverso i link sottostanti.

  • Come usare la riga di comando di Windows (DOS).
  • Tutorial sulla shell di Linux.

Configurazione e connessione a un repository remoto

Nel nostro esempio, useremo GitHub come memoria per il nostro repository remoto. Di seguito sono riportati i passaggi su come connettersi a un repository GitHub. Se sei nuovo a GitHub, puoi seguire i nostri passi su come creare un nuovo repository GitHub se hai bisogno di ulteriore aiuto.

  1. Dalla riga di comando, spostati nella directory in cui vuoi contenere il tuo repository Git.
  2. Digita il seguente comando per configurare il tuo nome utente Git, dove sarà il tuo nome utente GitHub.
 git config --global user.name "" 
  1. Dopo aver inserito il comando sopra, dovresti tornare al prompt dei comandi. Quindi, inserisci il tuo indirizzo e-mail digitando il seguente comando, dov'è il tuo indirizzo e-mail.
 git config --global user.email "" 
  1. Una volta completati i passaggi precedenti, sarai pronto per collegarti a un repository remoto. Per trovare l'indirizzo del repository, vai su un repository su GitHub e fai clic sul link Clone o download repository per ottenere l'indirizzo. Ad esempio, abbiamo creato un repository chiamato "esempio" che può essere trovato all'indirizzo //github.com/Computerhope/example.git . Copia l'indirizzo negli Appunti.
  2. Una volta copiato, torna alla riga di comando e digita il seguente comando, dov'è l'indirizzo che hai copiato. Per incollare quell'indirizzo nella riga di comando, fare clic con il pulsante destro del mouse nella finestra della riga di comando e fare clic su Incolla.
 git clone 
  1. Una volta creato il repository Git, avrai una nuova directory nella tua directory corrente con il nome del repository Git.
  2. Una volta che il repository remoto Git è stato clonato nel tuo repository locale, dovresti avere una nuova cartella nella directory corrente con il nome del repository Git. Ad esempio, nel nostro "esempio" Git avremmo una nuova directory chiamata "esempio". Usa il comando cd per cambiare nella nuova directory.
  3. Una volta nella nuova directory, digitare il seguente comando per elencare i repository remoti.
 git remote 
  1. Se ha successo, dovresti vedere "origine" che è il nome del tuo ramo Git principale. Per vedere gli alias (URL o percorso) digita il seguente comando.
 git remote -v 

L'esecuzione di ognuno dei comandi sopra ti darà un risultato simile a quello mostrato nel nostro esempio qui sotto.

Ora che sei connesso a un repository remoto su GitHub sei pronto per iniziare a lavorare sui file e a spingere e tirare i file mentre aggiorni i file.

Lavorando nel repository locale e spingendo i file

Dopo aver seguito i passaggi precedenti e 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 verranno illustrati i passaggi per la creazione di un nuovo file, il nuovo file, la modifica di un file esistente e l'aggiornamento.

Creazione di un nuovo file e invio al repository remoto

  1. Creare un nuovo file nella directory Git digitando il seguente comando dalla riga di comando Bash o Windows. Il seguente comando si aprirà e creerà un file chiamato example.txt in Blocco note. In Git Bash, puoi anche usare il comando touch per creare un nuovo file vuoto e quindi digitare "start" per aprire il file nel tuo editor di testo preferito.
 avvia il blocco note example.txt 
  1. Nell'editor di testo, inserire del testo nel file e salvare e uscire dal file.
  2. Indietro alla riga di comando digitare il seguente comando per ottenere lo stato corrente del proprio ramo e file non tracciati.
 stato git 
  1. Git mostrerà una finestra simile all'esempio mostrato sotto, che mostra che il file che abbiamo creato è nuovo e non tracciato da Git.

  1. Come menzionato nelle note e visto in figura, ora vorremmo aggiungere questo file a Git per essere tracciato digitando il seguente comando. Se il tuo file non è denominato "example.txt", vorresti cambiare il testo con il nome del tuo file.
 git aggiungi esempio.txt 
  1. Dopo aver inserito il comando precedente, il file verrà aggiunto come un nuovo file noto anche come staging. Digitando nuovamente lo stato git ti viene indicato in verde che il file è un nuovo file pronto per essere eseguito.
  2. Quindi, digitare il seguente comando per confermare le modifiche apportate nello spazio di lavoro locale al repository locale. Nell'esempio seguente, le nostre note "Primo esempio" dovrebbero essere note che avranno senso per te e per chiunque altro possa lavorare con te sul tuo progetto.
 git commit -m "Primo esempio" 

Nota: puoi anche digitare git commit senza tag o opzioni aggiuntivi. Tuttavia, quando si esegue questa operazione si aprirà un editor simile a Vim che può essere difficile per chi non ha familiarità con il video da utilizzare. Se si digita questo comando, premere "i" per accedere alla modalità di inserimento e digitare le note per il commit sulla prima riga, premere Esc, quindi digitare ": wq" per salvare, uscire e confermare. Ti consigliamo di utilizzare il comando precedente perché è più semplice da utilizzare per più utenti.

  1. Infine, ora che le modifiche sono state spostate dal tuo spazio di lavoro nel tuo repository locale, è pronto per essere trasferito al repository remoto. Digitare il seguente comando per inviare tutte le modifiche al repository remoto.

Suggerimento: se si desidera seguire lo stato di avanzamento, è possibile digitare nuovamente lo stato git per visualizzare lo stato corrente. Puoi anche digitare git log per vedere un registro delle modifiche.

 spingere 

Nota: ti verrà chiesto il nome utente e la password GitHub se il tuo computer non ha effettuato l'accesso a Git dalla riga di comando.

Una volta che il file è stato premuto, apparirà nel repository remoto GitHub e sarà disponibile anche per tutti gli altri che stanno lavorando con lo stesso repository.

Modifica di un file e invio al repository remoto

  1. Modifica e modifica uno o più file nel tuo Git.
  2. Digitare git status per visualizzare lo stato di tutti i file che non sono stati ancora trasferiti dallo spazio di lavoro nel repository locale.
  3. Digitare il seguente comando per aggiungere tutti i file. Il singolo periodo indica che si desidera che tutti i file vengano aggiunti al repository locale. Alcune persone possono anche usare git add -A per aggiungere tutto.

Suggerimento: puoi anche usare caratteri jolly invece di un punto. Ad esempio, se si desidera aggiungere tutti i file di testo, è possibile digitare * .txt anziché un singolo periodo per aggiungere solo file di testo.

 aggiungi git. 
  1. Una volta che i file sono stati aggiunti, digitare il seguente comando per il commit. Cambia le note da applicare al tuo impegno.
 git commit -m "Secondo aggiornamento" 
  1. Infine, digita git push per inviare il commit al repository remoto.

Suggerimento: se lavori con molte altre persone, ti consigliamo di eseguire il pull (spiegato di seguito) prima di eseguire il commit. Se il tuo repository locale non è lo stesso del repository remoto (escludendo le tue nuove modifiche) il commit fallirà. Ad esempio, se qualcuno ha aggiunto nuovi file al repository remoto mentre hai lavorato e provi a commetterlo fallirà fino a quando non lo fai.

Estrazione o recupero degli aggiornamenti dal repository remoto

Se è trascorso un po 'di tempo dal momento in cui hai eseguito un lavoro, esegui il comando git pull per ottenere gli ultimi aggiornamenti dal repository remoto e unirli nel tuo repository locale. Trascinando 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 fusione.

Per ottenere tutte le modifiche senza fusione, eseguire il comando git fetch per prelevare tutti gli ultimi aggiornamenti dal repository remoto senza unire nessuna delle nuove modifiche.

Come gestire un conflitto di merge Git

Quando più persone lavorano con gli stessi file, incontrerai conflitti di fusione. Quando si verifica un conflitto, Git modificherà i file locali e spetterà a te correggere manualmente i file con i conflitti.

Suggerimento: utilizzare il comando git status per visualizzare lo stato e unire le informazioni di conflitto.

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, nello stesso tempo, il file del repository remoto è stato modificato e aggiunto "update2" al file sulla stessa riga. Git contrassegna i conflitti con "<<<<<< >>>>>> <hash>" per rappresentare la fine del conflitto.

 Un altro file che viene caricato tra le pull. <<<<<< >>>>>> 62ee0eeba2e5b94d10574c1a6a68216e9b392e4c 

Per risolvere questo conflitto di unione, dovremmo decidere quale testo vogliamo mantenere, aggiornare o rimuovere. In questo esempio, vogliamo mantenere "update1" e "update2" nell'ordine in cui sono elencati, quindi dovremmo solo rimuovere i contrassegni Git per rendere il file simile al seguente esempio.

 Un altro file che viene caricato tra le pull. update1 update2 

Nota: se stai lavorando con un file di grandi dimensioni, è una buona idea cercare il file "HEAD" perché è possibile che ci possa essere più di un conflitto.

Una volta apportate le modifiche nel 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 che ha più di poche righe di testo o grandi sezioni di codice in conflitto che si occupano di un conflitto di merge 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, ad esempio WinMerge o un altro strumento di unione.

Creazione di un ramo Git

La creazione di un ramo consente di creare un duplicato del master (trunk) e di effettuare diversi aggiornamenti senza influire sul master. Ad esempio, se stavi sviluppando un programma e dovessi lavorare per correggere un bug che potrebbe richiedere settimane o mesi per essere risolto, potresti creare un ramo del master per lavorare sulle correzioni. Una volta corretto il bug, puoi unire nuovamente il ramo al master.

Per creare un ramo nel tuo repository locale, procedi nel seguente modo.

  1. Nella directory principale di Git, digitare il seguente comando, dove "" è dove si inserisce il nome del nuovo nome del ramo. Ad esempio, potremmo chiamare il ramo "examplebranch".
 ramo di git 
  1. Quindi, digitare il seguente comando per passare al ramo.
 git checkout 
  1. Dopo aver inserito il comando precedente, il prompt (in Git Bash) cambierà da "master" al nome del ramo come un'indicazione che stai lavorando su un ramo e non sul master.
  2. Da questo punto, puoi continuare a usare Git e modificare i file come hai fatto in passato.
  3. Per vedere tutti i rami disponibili, puoi usare il comando git branch. Ad esempio, digitando git branch verranno visualizzati i rami del repository locale. Digitando il ramo git -a verranno visualizzati tutti i repository locali e remoti.
  4. Se è necessario inserire il ramo nel repository remoto, è possibile eseguire il seguente comando.
 git push - origine origine upstream 
  1. Infine, se è necessario tornare al ramo master, è possibile digitare il seguente comando.
 git checkout master 

Come unire nuovamente un ramo nel master

Dopo aver completato il tuo lavoro in un ramo, ti consigliamo di unirlo nuovamente al master o ad un altro ramo seguendo i passaggi seguenti.

  1. Entra nel ramo in cui vuoi unirti. Ad esempio, se si desidera unire nuovamente il master, digitare il seguente comando.
 git checkout master 
  1. Una volta nel master, digitare il seguente comando per unire il ramo.
 git si fondono 
  1. Una volta che l'unione è stata aggiornata, aggiungi i file.
  2. Quindi, commetti le modifiche.
  3. Una volta uniti e commessi, spingere l'unione digitando il seguente comando. Se si verificano conflitti durante l'unione, consultare la sezione relativa alla sezione conflitti di unione.
 spingere 

Come eliminare un ramo locale e remoto

Se dopo aver unito un ramo non si desidera più mantenere il ramo locale o remoto, è possibile eseguire i seguenti comandi.

Per eliminare il ramo locale, digitare il seguente comando.

 git branch -d 

Per eliminare il ramo remoto, digitare il seguente comando.

 git push origin --delete