Guida introduttiva agli strumenti desktop e mobili di GitHub

Microsoft ha adottato un approccio molto concreto con GitHub sin dalla sua acquisizione lo scorso anno. È un approccio che ha molto senso; La relazione passata di Microsoft con la comunità open source non è stata delle migliori e non c'è ancora molta fiducia, nonostante i significativi passi avanti verso il design aperto e modelli di sviluppo aperti da Redmond.

Tuttavia, ciò non ha lasciato GitHub stagnante e alla deriva. Invece, sotto una nuova leadership e con maggiore chiarezza sul suo futuro, GitHub ha accelerato lo sviluppo e il lancio del prodotto, aggiungendo funzionalità ai suoi servizi Web e alla sua piattaforma. Gli strumenti incentrati sugli sviluppatori di GitHub hanno ricevuto molta più attenzione nell'ultimo anno, con aggiornamenti regolari a GitHub Desktop e il rilascio delle sue prime applicazioni mobili native per iOS e Android.

Diventare social con il tuo codice

GitHub è molto più che condividere il tuo codice con il tuo team o con il mondo. I suoi repository si basano sul protocollo di controllo del codice sorgente Git open source sottostante, utilizzandolo come base per un modello di codifica sociale che mira a cambiare il modo in cui gli sviluppatori lavorano, in pubblico e in privato. È un modello di sviluppo interessante. Con il passaggio a team distribuiti e remoti, è sempre più importante trovare nuovi modi per aggiungere collaborazione.

Non sei limitato all'utilizzo degli strumenti di GitHub, poiché qualsiasi client Git funzionerà con il servizio. Un'opzione è la popolare implementazione di Git per Windows che Microsoft integra nell'editor del suo programmatore Visual Studio Code. Con profondi hook in Windows Explorer e la sua riga di comando simile a bash, è un percorso facile per utilizzare Git e GitHub, trattando i repository locali e remoti esattamente allo stesso modo.

Allora perché usare gli strumenti di GitHub? Il suo modello di codifica sociale ha aggiunto molto di più al flusso di lavoro di Git oltre alla semplice esecuzione di commit e alla gestione di fusioni, con strumenti per analizzare il codice e creare conversazioni attorno alle azioni del tuo team. Usando i suoi strumenti, non devi perdere tempo in un'applicazione Web, allontanarti dal tuo flusso di lavoro e dalla toolchain, perdendo contesto ogni volta che vuoi commentare una modifica o valutare una richiesta pull. Facendo emergere queste funzionalità nelle sue applicazioni desktop e mobili, GitHub rende più facile lavorare socialmente senza intralciare il lavoro e la scrittura di codice.

Presentazione di GitHub Desktop

GitHub Desktop è il modo preferito da GitHub per integrare la tua toolchain desktop con il servizio. Disponibile sia per Windows che per Mac, è un modo per visualizzare e gestire repository e rami, collegando il tuo filesystem locale con il tuo account GitHub. I repository vengono clonati localmente e le modifiche vengono applicate al ramo corrente. Una volta che sei soddisfatto, è facile reinserirli su GitHub con una singola azione di sincronizzazione.

È uno strumento relativamente semplice, in grado di prendere un URL GitHub e clonare il repository localmente o creare un nuovo repository basato su un albero di directory nel tuo filesystem locale. In questo modo è possibile utilizzare uno strumento come Draft per creare lo scaffolding per un'applicazione prima di configurare un repository.

È necessario un account GitHub per utilizzare uno qualsiasi degli strumenti di GitHub, su GitHub stesso o in un'istanza di GitHub Enterprise. Se stai usando un client Git esistente come Git per Windows, puoi usarlo con GitHub Desktop, riunendo i due strumenti. Puoi scegliere un editor esterno e una shell, con opzioni per la riga di comando di Windows, PowerShell o il prompt bash di Git. Non è ancora disponibile il supporto per il nuovo terminale di Windows o per il sottosistema Windows per Linux.

Lavorare con GitHub Desktop

Una volta installato e configurato, GitHub Desktop ti dà la possibilità di lavorare con repository locali o clonare repository Git esterni. Sebbene GitHub Desktop utilizzi per impostazione predefinita la cartella dei documenti di Windows per i suoi repository locali, puoi scegliere un percorso di root alternativo per i tuoi file, uno che si adatti al tuo flusso di lavoro personale. La creazione di un nuovo repository locale aggiunge una nuova cartella radice del repository al percorso locale ed effettua un commit iniziale con un file readme formattato con markup. È quindi possibile aggiungere il repository locale al proprio account GitHub e inviare i file e le modifiche a un repository GitHub.

Molto di ciò che fa GitHub Desktop può essere fatto dalla riga di comando con un client Git standard. Ciò che è importante in GitHub Desktop è il modo in cui mostra cosa è cambiato nel codice condiviso, visualizza la cronologia associata a un repository e visualizza rapidamente eventuali differenze.

Un'opzione è utilizzare GitHub Desktop come hub delle attività di sviluppo, gestire i rami del codice e avviare l'editor di codice scelto quando necessario. I messaggi di commit vengono aggiunti a qualsiasi modifica e puoi scegliere quale ramo per le modifiche al codice. Quando sei soddisfatto delle modifiche, GitHub Desktop può trasformarle in richieste pull, pronte per la revisione del codice. Non è necessario accedere al browser per gestire le richieste pull inoltrate ai progetti. All'interno di GitHub Desktop apri un ramo per vedere l'elenco corrente, che può essere estratto come rami locali per la revisione e il test, prima di accettare e unire le modifiche nel ramo pertinente.

Il social coding consiste nel lavorare con altri sviluppatori, sfruttando le moderne pratiche di sviluppo agile. Uno svantaggio degli strumenti Git tradizionali è che legano i commit a un singolo utente, nascondendo gli sforzi di collaborazione. Con GitHub Desktop puoi aggiungere altri membri del team a un commit, assicurandoti che i contributi vengano riconosciuti. In questo modo è possibile tenere traccia delle sessioni di programmazione in coppia e di debug over-the-spalla, consentendo di acquisire i dettagli di chi ha esperienza in una sezione specifica di un progetto o di chi può essere chiamato per aiutare con problemi simili in altre applicazioni.

Portare GitHub ovunque tu sia

Desktop non è l'unico client GitHub ufficiale. L'azienda ha recentemente lanciato le versioni beta dei client iOS e Android. Come lo strumento desktop, sono progettati per aiutarti a gestire i tuoi repository. Invece di fungere da hub per il tuo codice, i client mobili sono meglio pensati come strumenti per valutare il lavoro che è stato inviato da collaboratori o contrassegnato da altri strumenti nella pipeline CI / CD (integrazione continua / sviluppo continuo).

I dispositivi mobili non sono per la modifica del codice, ma sono abbastanza spettatori decenti, quindi puoi scansionare il codice mentre sei in viaggio o davanti a un caffè prima di accettare le modifiche o decidere cosa fare per un problema. Puoi aggiungere risposte rapide alle richieste pull e, se utilizzi il test automatico per approvare il codice, puoi vedere rapidamente lo stato delle tue azioni prima di effettuare un'unione. Trattare GitHub come una casella di posta elettronica funziona sorprendentemente bene, spostandosi da un'attività all'altra, contrassegnando come completato o salvando per dopo.

Anche se non stai modificando il codice in GitHub Mobile, ti consiglio comunque di utilizzarlo con un dispositivo a schermo relativamente grande, possibilmente anche un tablet. Non è meno capace su uno schermo più piccolo, è solo più difficile leggere il codice e vedere i cambiamenti nel contesto di un modulo di grandi dimensioni.

La codifica sociale va ben oltre l'open source e lo sviluppo pubblico. È uno strumento efficace per i tuoi repository privati ​​o per i servizi aziendali di GitHub. Strumenti come questi ti tengono lontano dal browser, con un hub per collegare i tuoi repository, i loro cloni locali e i vari rami utilizzati per il tuo processo di sviluppo con i tuoi editor di codice, strumenti di test e tutte le altre parti della tua toolchain. L'approccio è compatibile con le moderne pratiche di sviluppo, supportando individui e team insieme ai loro flussi di lavoro.