Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Git è il sistema di controllo della versione più comunemente usato. Con Git è possibile tenere traccia delle modifiche apportate ai file, in modo da avere un record di ciò che è stato fatto e avere la possibilità di ripristinare le versioni precedenti dei file, se necessario. Git semplifica inoltre la collaborazione, consentendo a più persone di unire tutte le modifiche in un'unica origine.
Git può essere installato in Windows AND in WSL
Una considerazione importante: quando si abilita WSL e si installa una distribuzione Linux, si installa un nuovo file system, separato dall'unità C:\ NTFS di Windows nel computer. In Linux, alle unità non vengono assegnate delle lettere. Vengono assegnati punti di montaggio. La radice del tuo file system /
è il punto di montaggio della partizione root o della cartella, nel caso di WSL. Non tutto sotto /
è la stessa unità. Ad esempio, nel mio portatile ho installato due versioni di Ubuntu (20.04 e 18.04), nonché Debian. Se apro quelle distribuzioni, seleziono la home directory con il comando cd ~
e quindi immetto il comando explorer.exe .
, Esplora file di Windows si aprirà e mi mostrerà il percorso della directory per quella distribuzione.
Distribuzione Linux | Percorso di Windows per accedere alla home folder |
---|---|
Ubuntu 20.04 | \\wsl$\Ubuntu-20.04\home\username |
Ubuntu 18.04 | \\wsl$\Ubuntu-18.04\home\username |
Debian | \\wsl$\Debian\home\username |
Windows PowerShell | C:\Users\username |
Consiglio
Se si sta cercando di accedere alla directory file di Windows dalla riga di comando di distribuzione WSL, invece di C:\Users\username
, la directory sarà accessibile usando /mnt/c/Users/username
, perché la distribuzione Linux visualizza il file system windows come unità montata.
È necessario installare Git in ogni file system con cui si intende usarlo.
Installazione di Git
Git è già installato con la maggior parte delle distribuzioni del sottosistema Windows per Linux, ma può essere necessario eseguire l'aggiornamento alla versione più recente. Sarà anche necessario configurare il file di configurazione Git.
Per installare Git, vedere il sito Git Download for Linux. Ogni distribuzione linux ha un proprio comando di gestione pacchetti e installazione.
Per la versione stabile più recente di Git in Ubuntu/Debian, immettere il comando :
sudo apt-get install git
Nota
Potresti anche voler installare Git per Windows se non l'hai già fatto.
Configurazione del file di configurazione Git
Per configurare il file di configurazione Git, aprire una riga di comando per la distribuzione in uso e impostare il nome con questo comando (sostituendo "Nome" con il nome utente preferito):
git config --global user.name "Your Name"
Impostare il messaggio di posta elettronica con questo comando (sostituendo "youremail@domain.com" con il messaggio di posta elettronica preferito):
git config --global user.email "youremail@domain.com"
Consiglio
Se non si ha ancora un account GitHub, è possibile iscriversi a uno in GitHub. Se non si è mai lavorato con Git in precedenza, GitHub Guides può essere utile per iniziare. Se è necessario modificare la configurazione Git, è possibile farlo con un editor di testo predefinito come nano: nano ~/.gitconfig
.
È consigliabile proteggere l'account con l'autenticazione a due fattori (2FA).
Configurazione di Git Credential Manager
git Credential Manager (GCM) è un helper di credenziali Git sicuro basato su .NET che può essere usato con WSL1 e WSL2. Abilita il supporto dell'autenticazione a più fattori per i repository GitHub, Azure DevOps, Azure DevOps Server e Bitbucket.
GCM si integra nel flusso di autenticazione per i servizi come GitHub e, dopo l'autenticazione al provider di hosting, richiede un nuovo token di autenticazione. Archivia quindi il token in modo sicuro nel Windows Credential Manager. Dopo la prima volta, è possibile usare Git per comunicare con il provider di hosting senza dover ripetere l'autenticazione. Accederà semplicemente al token in Gestione credenziali di Windows.
Per usare GCM con WSL, è necessario trovarsi in Windows 10 versione 1903 o successiva. Questa è la prima versione di Windows che include lo strumento di wsl.exe
necessario usato da GCM per interagire con Git nelle distribuzioni WSL.
È consigliabile installare il git più recente per Windows per condividere le credenziali & impostazioni tra WSL e l'host Windows. Git Credential Manager è incluso in Git per Windows e la versione più recente è inclusa in ogni nuova versione di Git per Windows. Durante l'installazione, verrà chiesto di selezionare un gestore delle credenziali, con GCM impostato come predefinito.
Se si ha un motivo per cui non si installa Git per Windows, è possibile installare GCM come applicazione Linux direttamente nella distribuzione WSL, ma si noti che in questo modo GCM è in esecuzione come applicazione Linux e non può usare le funzionalità di autenticazione o archiviazione delle credenziali del sistema operativo Windows host. Consulta il repository GCM per le istruzioni su come configurare WSL senza Git per Windows.
Per configurare GCM per l'uso con una distribuzione WSL, aprire la distribuzione e immettere questo comando:
Se GIT installato è >= v2.39.0
git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager.exe"
else se GIT installato è >= v2.36.1
git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe"
altrimenti se la versione è < v2.36.1, immettere questo comando:
git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager-core.exe"
Nota
L'utilizzo di GCM come gestore delle credenziali per un'installazione di WSL Git significa che qualsiasi configurazione impostata in WSL Git non è riconosciuta da GCM (per impostazione predefinita). Questo avviene perché GCM è in esecuzione come applicazione Windows e quindi userà git per l'installazione di Windows per eseguire query sulla configurazione. Ciò significa che le impostazioni proxy per GCM devono essere impostate in Git per Windows e WSL Git perché sono archiviate in file diversi (%USERPROFILE%\.gitconfig
vs \\wsl$\distro\home\$USER\.gitconfig
). È possibile configurare WSL in modo che GCM usi la configurazione Git WSL, ma ciò significa che le impostazioni proxy saranno univoche per l'installazione specifica di WSL e non condivise con altri o con l'host Windows.
Git con SSH
Git Credential Manager funziona solo con remoti HTTP(S). È comunque possibile usare Git con SSH:
- Azure DevOps SSH
- SSH di GitHub
- Bitbucket SSH
Configurazione aggiuntiva per Azure
Se si intende usare Azure Repos o Azure DevOps, è necessaria una configurazione aggiuntiva:
git config --global credential.https://dev.azure.com.useHttpPath true
A questo punto, qualsiasi operazione Git eseguita all'interno della distribuzione WSL userà GCM. Se sono già presenti credenziali memorizzate nella cache per un host, le accederà dal gestore delle credenziali. In caso contrario, si riceverà una risposta alla finestra di dialogo che richiede le credenziali, anche se ci si trova in una console Linux.
Consiglio
Se si usa una chiave GPG per la sicurezza della firma del codice, potrebbe essere necessario associare la chiave GPG al messaggio di posta elettronica di GitHub.
Aggiunta di un file Git Ignore
È consigliabile aggiungere un file con estensione gitignore ai progetti. GitHub offre una raccolta di modelli .gitignore utili con configurazioni di file .gitignore consigliate, organizzati in base ai casi d'uso. Ad esempio, di seguito è riportato modello gitignore predefinito di GitHub per un progetto Node.js.
Se si sceglie di creare un nuovo repository usando il sito Web GitHub, sono disponibili caselle di controllo per inizializzare il repository con un file README, un file con estensione gitignore configurato per il tipo di progetto specifico e le opzioni per aggiungere una licenza, se necessario.
Git e VS Code
Visual Studio Code include il supporto predefinito per Git, inclusa una scheda del controllo del codice sorgente che mostrerà le modifiche e gestirà automaticamente un'ampia gamma di comandi Git. Altre informazioni sul supporto Git di VS Code.
Terminazioni di riga Git
Se si usa la stessa cartella del repository tra Windows, WSL o un contenitore, assicurarsi di configurare terminazioni di riga coerenti.
Poiché Windows e Linux usano terminazioni di riga predefinite diverse, Git può segnalare un numero elevato di file modificati che non presentano differenze a parte le terminazioni di riga. Per evitare che ciò accada, puoi disabilitare la conversione di terminazione riga usando un file .gitattributes
o a livello globale sul lato Windows. Vedere questo documento di VS Code sulla risoluzione dei problemi di terminazione della riga Git.
Risorse aggiuntive
- WSL & vs Code
- lab di apprendimento di GitHub : corsi online
- strumento di visualizzazione Git
- Strumenti Git - Archiviazione delle credenziali
Windows Subsystem for Linux