Come utilizzare Git e GitHub per lo sviluppo Microsoft

L'acquisizione di GitHub da parte di Microsoft è stata completata e l'ex CEO di Xamarin Nat Friedman è ora responsabile del servizio di gestione del codice cloud. Non è stata un'acquisizione sorprendente: negli ultimi anni, i processi di sviluppo di Microsoft hanno assunto una dipendenza sempre più profonda da Git e GitHub. E i problemi di gestione di GitHub rendevano difficile per la società andare avanti, e dopo una breve guerra di offerte Microsoft si fece avanti per prendere il sopravvento.

Devi solo guardare il rapporto annuale sullo stato dell'Octoverse di GitHub per vedere quanto sia importante per Microsoft. Nella Top 10 dei progetti tre sono strumenti Microsoft chiave e altri tre sono importanti progetti open source utilizzati su piattaforme Microsoft. Microsoft è anche il più grande contributore commerciale ai progetti open source ospitati su GitHub, con oltre 7.700 commit nell'ultimo anno.

Progetti come .Net Core, PowerShell Core, F #, C #, il compilatore Roslyn, Visual Studio Code e TypeScript sono ospitati su GitHub, con progettazione e sviluppo aperti e con input di terze parti significativo. È anche il back-end del nuovo servizio di documentazione di Microsoft Docs, con richieste pull disponibili per qualsiasi documentazione. Anche Windows utilizza Git, sebbene sia su repository interni privati ​​che utilizzano il Virtual File System di Microsoft per Git per gestire l'enorme scala della sua base di codice, scaricando solo le risorse necessarie piuttosto che un intero repository.

Git in Visual Studio Code

Con Git e GitHub ovunque in Microsoft, è anche integrato negli strumenti di sviluppo di Microsoft e nel modo in cui gli sviluppatori creano app su Windows e per Azure. Quando installi una nuova copia di Visual Studio Code, ti incoraggia a scaricare e installare il client Windows Git, in modo da poterti connettere a qualsiasi repository basato su Git, sia che tu stia utilizzando GVFS, utilizzando un'installazione Git locale o avere account su GitHub, GitLab o qualsiasi altro servizio basato su Git ospitato nel cloud.

Il client Git Windows è uno strumento da riga di comando. Disponibile nelle versioni a 32 e 64 bit, è un modo semplice per integrare la funzionalità Git in Windows e negli strumenti di sviluppo di Windows. L'installazione è abbastanza semplice, con l'integrazione di Windows Explorer per la propria shell basata su Bash e nella riga di comando di Windows. Se non hai installato Visual Studio Code, è un'opzione di download dal programma di installazione di Git di Windows e può essere impostato come editor predefinito per Git.

Anche se il client consiglia di utilizzare Git Bash per evitare di modificare Windows PATH, questo non è davvero un problema, soprattutto se si prevede di utilizzarlo con altri strumenti di sviluppo e dall'interno della riga di comando di Windows. Consiglio di installare con il supporto della riga di comando e, sebbene questo non dia accesso agli strumenti in stile Unix che sono in bundle con Git, ti consente di accedere a Git non solo dalla riga di comando di Windows ma anche dal terminale integrato in Visual Studio Code .

Git per Windows utilizza OpenSSL per impostazione predefinita per le connessioni protette. Questo era più un problema di quanto non lo sia ora, perché Windows 10 ora offre strumenti SSL integrati. Esiste un'opzione alternativa che supporta l'utilizzo degli strumenti di Windows Secure Channel, che potrebbe essere preferibile se è necessario bloccare l'accesso a un repository Git locale protetto con un certificato aziendale archiviato in Active Directory.

Usare Git con Windows

Le build recenti di Windows 10 hanno aggiunto il supporto per le terminazioni di riga in stile Unix negli editor di testo di Windows (incluso Blocco note!). Ciò rende l'opzione di conversione di fine riga di Git meno importante, ma è disponibile per le versioni precedenti di Windows e significa che il codice multipiattaforma viene estratto con terminazioni di riga in stile Windows e torna in stile Unix. Utilizzando questa opzione, puoi utilizzare qualsiasi editor di Windows per modificare il codice del repository senza preoccuparti che le terminazioni di riga influiscano sulle pipeline di compilazione o sugli strumenti di distribuzione. Allo stesso modo, i miglioramenti nella console di Windows significano che è più facile lavorare con Git nella console predefinita senza dover installare e utilizzare MinTTY come terminale alternativo per Git.

Una volta installato, è possibile accedere a Git per Windows da qualsiasi riga di comando di Windows (anche se sarà necessario installare una versione Unix per Windows Subsystem for Linux [WSL]), incluso il terminale integrato in Visual Studio Code.

Probabilmente vorrai controllare automaticamente gli aggiornamenti, perché è un progetto in rapido movimento con versioni regolari. Se stai passando da PC a PC, c'è anche una versione portatile che funziona da una pen drive, quindi puoi raggruppare la maggior parte dei tuoi strumenti di sviluppo su una singola unità e portarli con te.

Puoi estrarre il codice da qualsiasi repository Git utilizzando i comandi Git sulla riga di comando di Windows o tramite il terminale di Visual Studio Code. Una vista Git di una cartella mostra le modifiche e offre un accesso rapido ai comandi Git comuni. Puoi aggiornare la tua copia locale, memorizzare le modifiche o eseguire il commit degli aggiornamenti. È abbastanza facile creare rapidamente un nuovo ramo da una copia di un master, semplificando il processo di lavoro con il codice condiviso.

L'integrazione di Git in Visual Studio Code ha molto senso. Microsoft può costruire su uno strumento open source familiare in un ambiente di sviluppo ampiamente adottato dalle comunità open source. Non è necessario apprendere nuovi comandi e hai la possibilità di utilizzare la riga di comando o il mouse, a seconda dell'opzione dell'interfaccia utente che preferisci.

Git e GitHub in Visual Studio

Se stai usando Visual Studio, ci sono molti strumenti per integrare il tuo codice con repository remoti. Le build attuali supportano Git integrato, utilizzando lo strumento di connessione nella scheda Team per aprire un repository. È possibile usare un repository Git locale o lavorare con Git in Azure Devops e Visual Studio Team Services. Il codice può essere rapidamente ramificato per il proprio lavoro, creando rami locali da master remoti. Man mano che si aggiungono le istruzioni di commit, si crea la documentazione, pronta per unire nuovamente le modifiche nel ramo master tramite una richiesta pull. Una sincronizzazione iniziale crea una copia del tuo ramo locale sul repository remoto, dove puoi inviare le modifiche e creare un elenco di pull pronto per la revisione del codice.

GitHub ha la propria estensione di Visual Studio, che può essere installata con Visual Studio o aggiunta in un secondo momento. C'è il supporto per connessioni più sicure, tramite l'autenticazione a due fattori. I repository collegati al tuo account sono a portata di clic e puoi creare nuovi repository nei servizi standard o aziendali da Visual Studio, inclusa la pubblicazione di progetti esistenti. Con l'estensione, GitHub diventa parte della visualizzazione Team Explorer, inclusa la gestione delle richieste pull.

Altri strumenti Git per sviluppatori Windows

Gli utenti di Visual Studio Code possono trovare strumenti GitHub di terze parti in Visual Studio Marketplace, con supporto per i flussi GitHub. Altre estensioni basate su Git supportano opzioni e flussi di lavoro Git specifici, incluso il popolare Gitflow. Troverai anche strumenti per il monitoraggio di problemi e notifiche, che con le ultime funzionalità di GitHub dovrebbero rendere Visual Studio Code un hub utile per le tue attività devops. Ulteriore supporto proviene da uno strumento desktop che porta l'esperienza utente GitHub sul PC di sviluppo, supportando lo sviluppo collaborativo e aggiungendo strumenti visivi per confrontare le differenze tra i rami come parte delle revisioni del codice.

Il controllo della versione è fondamentale per gli sviluppatori moderni e l'aggiunta di Git a Windows e agli strumenti di sviluppo di Microsoft è un passo importante verso la fornitura di uno sviluppo reattivo e agile. Con Git integrato in Visual Studio e con molti strumenti incentrati su Git per Visual Studio Code, non ci sono davvero scuse per non trarne vantaggio.