Come sapete, è una buona pratica usare sempre la gestione del controllo dei sorgenti (SCM) per i vostri progetti, anche quelli personali. Sapete che Android Studio ha un’incredibile integrazione con Git per la gestione del controllo dei sorgenti? Se non lo sapevate o non avete esperienza nell’usarlo, allora continuate a leggere questo post. Anche se avete già usato l’integrazione Git di Android Studio, potreste comunque raccogliere alcuni trucchi utili in questo post.
Vi mostrerò le molte caratteristiche del supporto Git in Android Studio e anche come è facile fare le diverse operazioni Git (commit, push, pull, branch, ecc.) da dentro Android Studio.
In questo tutorial, ti guiderò attraverso l’elenco delle funzionalità SCM che sono disponibili in Android Studio. Guarderemo le seguenti aree:
- integrare un nuovo progetto Android Studio con Git
- lavorare con GitHub o Bitbucket
- esplorare la finestra Controllo di versione
- commettere
- branche
- spingere e tirare da un repository remoto
.
- Prequisiti
- 1. Crea un progetto Android Studio
- 2. Integrare Git
- 3. Integrazione con GitHub o Bitbucket
- 4. La finestra di controllo della versione
- La scheda Local Changes
- La scheda Console
- La scheda Log
- 5. Fare un Commit
- Visualizzazione del log di commit
- 6. Creare un ramo Git Creare un ramo Git
- 7. Fusione dei rami Git
- Merge, Checkout, Delete, Compare, Rename Branch
- 8. Pushing a un repository remoto
- 9. Estrarre da un repository remoto
- Conclusione
Prequisiti
Per poter seguire questo tutorial, avrete bisogno di:
- una conoscenza di base del sistema di controllo di versione distribuito Git
- Android Studio 3.0 o superiore
1. Crea un progetto Android Studio
Accendi Android Studio e crea un nuovo progetto (puoi chiamarlo GitApplicationDemo
) con un’attività vuota chiamata MainActivity
.
2. Integrare Git
Dopo che il tuo progetto Android Studio è stato impostato, clicca sul menu VCS, passa il mouse sul menu Importa nel controllo di versione e seleziona Crea repository Git…
Poi seleziona la cartella principale del tuo progetto Android Studio.
Clicca il pulsante OK per inizializzare il progetto con Git. Sotto il cofano, Android Studio esegue il comando Git:
git init
Come promemoria, ecco cosa farà questo comando:
Questo comando crea un repository Git vuoto, in pratica una directory
.git
con sottodirectory per i fileobjects
,refs/heads
,refs/tags
e i file template. Viene anche creato un file inizialeHEAD
che fa riferimento all’HEAD del ramo master.
Si aprirà una finestra informativa:
Questo ci parla di un file chiamato vcs.xml dentro la cartella .idea. Questa cartella contiene solo le impostazioni specifiche del progetto. Nota che questo è il formato usato da tutte le recenti versioni di IntelliJ IDEA.
Idealmente, i file nella .idea/
non dovrebbero raggiungere Git-quindi dovresti aggiungerli a .gitignore
.
Di default, siamo passati al ramo master. Puoi sempre visualizzare il ramo corrente del tuo progetto nell’angolo in basso a destra di Android Studio.
3. Integrazione con GitHub o Bitbucket
Puoi facilmente lavorare su qualsiasi repository di codice sorgente Android che si trova in un account GitHub o Bitbucket in Android Studio. Lasciate che vi mostri come fare.
Passa a File > Nuovo > Progetto dal Controllo di versione > GitHub.
(Se vuoi lavorare su un repo da Bitbucket, seleziona Bitbucket invece. Se vuoi semplicemente clonare un repo Git da internet nella tua macchina locale, seleziona l’opzione del menu Git.)
Poi, inserisci le credenziali del tuo account GitHub e clicca su Login.
Se il login ha avuto successo, apparirà la finestra di dialogo Clone Repository. Questa finestra di dialogo mostra un menu a tendina contenente un elenco di repository su GitHub che attualmente possiedi o su cui hai lavorato.
Clicca Clone per clonare il repo sulla tua macchina locale all’interno della directory madre già selezionata.
4. La finestra di controllo della versione
Dopo aver avviato con successo il nostro progetto Android Studio con Git, Android Studio mostrerà la finestra di controllo della versione. Clicca sulla scheda Controllo di versione (in basso a sinistra di Android Studio) ed esploriamo ciò che abbiamo lì. Nota che puoi usare Alt-9 per aprire rapidamente questa finestra.
In questa finestra, abbiamo tre diverse schede: Modifiche locali, Console e Log.
La scheda Local Changes
Questa mostra la lista dei file che sono stati modificati localmente (sulla propria macchina) e non ancora inviati al repository.
Diamo un’occhiata alle barre degli strumenti disponibili quando sei nella scheda delle modifiche locali.
- Clicca su questa icona per aggiornare lo stato dei tuoi file nel posto di lavoro corrente. La scorciatoia è Control-F5.
- Questa icona, se cliccata, impegna le tue modifiche attuali. La scorciatoia è Control-Alt-Z.
- Fai clic su questa icona per annullare le modifiche selezionate.
- Fai clic su questa icona per creare una nuova lista di modifiche. Nota che una lista di modifiche è un insieme di modifiche nei file che rappresenta un cambiamento logico nel codice sorgente. La scorciatoia è Alt-Insert.
- Fai clic su questo pulsante per eliminare la changelist selezionata.
- Per rendere attiva una lista di modifiche, fai semplicemente clic su questa icona.
- Per spostare un file selezionato in un altro changelist, fai clic su questa icona.
- Fai clic su questa icona per espandere e visualizzare tutti i file.
- Clicca questa icona per far crollare tutti i file.
- Fai clic su questa icona per mostrare i file modificati che sono raggruppati per cartelle.
- Fate clic su questa icona per copiare il percorso del file selezionato negli appunti del sistema.
- Fai clic su questa icona per visualizzare il nodo dei file ignorati con la lista dei file esistenti ignorati da Git.
- Fai clic su questa icona per impostare la lista dei file che saranno ignorati da Git.
- Fai clic su questa icona per aprire il pannello Preview Diff per confrontare il file corrente con l’ultima revisione commessa.
La scheda Console
In questa scheda vediamo il risultato dell’esecuzione dei comandi relativi a Git. Nota che non puoi scrivere comandi Git in questa scheda – fallo invece nella finestra terminale di Android Studio.
La scheda Log
Questa scheda mostra tutte le modifiche che sono state commesse in tutti i rami del repository locale e remoto. All’interno di questa scheda, è possibile sfogliare i commit in qualsiasi ramo.
La casella di ricerca è usata per cercare i commit che hanno la stringa inserita o un’espressione regolare.
- Questo menu a tendina è usato per filtrare i commit per ramo. Per visualizzare tutti i commit locali e remoti, basta selezionare All (il default).
- Per filtrare i commit per autore, usa questo elenco a discesa. Dovrai digitare il nome dell’autore per visualizzare i suoi commit. Seleziona Tutti per visualizzare i commit di tutti gli utenti.
- Utilizza questo menù a tendina per filtrare i commit per un intervallo di tempo o per una data specifica. Per essere specifici sulla data, clicca semplicemente su Select e scegli la data. Seleziona Tutti per visualizzare i commit fatti in tutte le date.
- Utilizza questo menù a tendina per filtrare i commit in base al percorso dei file modificati.
- Questo pulsante (IntelliSort) permette un modo più conveniente di vedere le fusioni, visualizzando prima i commit in arrivo, direttamente sotto il commit di fusione.
- Se questo pulsante è abilitato, i rami lunghi vengono visualizzati per intero, anche se non ci sono commit in essi.
- Utilizza questo pulsante per aggiornare la lista dei commit nel progetto.
- Per andare ad un hash, tag o ramo, usa semplicemente questo pulsante.
- Fai clic su questo pulsante per applicare i cambiamenti dal commit selezionato al ramo corrente.
- Fai clic su questo pulsante per evidenziare i commit dal ramo selezionato che non sono ancora stati applicati al ramo corrente.
Puoi saperne di più sulla finestra dello strumento Controllo versione nella documentazione di IntelliJ IDEA.
5. Fare un Commit
Si noterà che quando abbiamo impostato l’integrazione di Git con il nostro progetto Android Studio, il colore del nome del nostro file è diventato marrone. Secondo la documentazione ufficiale di IntelliJ IDEA, per i file con etichette marroni:
Il file esiste localmente, ma non è nel repository, e non è previsto per l’aggiunta.
Vediamo ora come fare un commit in Android Studio. Ma prima, abbiamo bisogno di aggiungere le nostre modifiche nella directory di lavoro all’area di staging. Nella console, useremo il comando git add
.
git add <file> || <directory>
Ma possiamo farlo direttamente da Android Studio. Seleziona il menu a tendina Unversioned Files nella scheda Local Changes, clicca con il tasto destro e vai su Git > Add o usa Control-Alt-A. Ricorda che selezionando la cartella principale, tutto ciò che si trova al suo interno verrà aggiunto all’area di staging.
Ora, osserverai che i colori delle etichette dei tuoi file sono cambiati da marrone a verde. Ecco cosa dice la documentazione di IntelliJ IDEA sui nomi dei file che sono colorati di verde:
Il file è programmato per essere aggiunto al repository.
Per saperne di più sui diversi colori che un nome di file può avere a seconda dello stato del file in Android Studio (IntelliJ IDEA), controlla la documentazione sullo stato del file.
Per impegnare finalmente le nostre modifiche, clicchiamo sul pulsante “commit changes” nella scheda Local Changes, e si aprirà la finestra di dialogo Commit Changes.
- Qui possiamo selezionare o deselezionare i file che dovrebbero essere inclusi in questo commit. Per impostazione predefinita, tutti i file in fase di commit sono selezionati.
- Scrivi qui il tuo messaggio di commit. Se hai un messaggio di commit scritto in precedenza, verrà mostrato qui come predefinito.
- Seleziona le operazioni da eseguire prima del commit su Git.
- Confronto fianco a fianco dei file modificati.
- Con questo pulsante a discesa, è possibile commettere e spingere o solo commettere.
Per fare un commit, scriviamo un messaggio di commit:
Initial commit
Selezionate Commit nella tendina Commit per impegnare finalmente le vostre modifiche. Nota che puoi usare la scorciatoia Control-K per impegnare le modifiche in qualsiasi momento da Android Studio.
Se ora rivisiti la scheda Local Changes nella finestra Version Control, non vedrai più nessuno dei tuoi file elencati lì, perché li abbiamo impegnati con successo nel nostro repo locale.
Nota che puoi anche navigare su VCS > Git > Commit File… per fare un commit e VCS > Git > Add per aggiungere un file per lo staging. Inoltre, è possibile fare clic sull’icona delle modifiche di commit nella barra degli strumenti principale in alto in Android Studio per fare rapidamente un commit (o commit e push).
Nella nostra classe MainActivity.kt, ho fatto una semplice modifica nella classe sovrascrivendo onResume()
. Noterete che il colore del nome del file dopo la modifica è ora blu; questo significa che abbiamo modificato il file.
Visualizzazione del log di commit
Ora, rivisitate ancora una volta la finestra Controllo di versione e andate alla scheda Log. Quello che vedrai ora sono i commit che sono stati fatti a questo progetto. Per avere maggiori dettagli su qualsiasi commit, basta cliccarci sopra.
- Questo pannello principale mostra tutti i commit del progetto secondo il filtro selezionato. In altre parole, questo ci mostra la storia dei commit.
- Questo pannello mostra i file e le cartelle interessate dal commit selezionato nel pannello della storia dei commit.
- Questo pannello mostra ulteriori dettagli sul commit selezionato.
Facendo clic con il tasto destro del mouse su un commit, puoi anche vedere un menu che ti permette di copiare il numero di revisione, creare una patch, controllare una revisione, creare un ramo da quel commit, creare un nuovo tag e resettare il ramo corrente a quel commit.
Ora vediamo come possiamo vedere quale codice è stato aggiunto, modificato o rimosso. In altre parole, vogliamo controllare – in modo più dettagliato – le modifiche apportate.
Semplicemente cliccate sull’icona show diff sopra la finestra dove sono mostrati i file interessati dal commit. Una scorciatoia è usare Control-D o fare doppio clic sul file o sulla cartella.
Quello che vedrai è una finestra di dialogo Show Diff, che mostra le differenze tra il commit precedente e quello selezionato.
Una regione di colore verde nel file evidenzia le linee che sono state aggiunte al file – dovresti vederne alcune se stai seguendo. Le regioni grigie evidenziano le linee che sono state rimosse. E il blu evidenzia le linee che sono state cambiate. Prova ad esplorare i filtri e i pulsanti icona disponibili nella parte superiore della finestra di dialogo Show Diff per saperne di più.
Nota che puoi anche vedere le modifiche alle immagini nella finestra di dialogo Show Diff!
Cliccando con il tasto destro su un file, hai anche l’opzione di vedere la differenza tra l’ultimo commit e il commit corrente di quel file-show diff (scorciatoia Control-D). Puoi anche modificare il sorgente (F4), aprire la versione nel repository, ripristinare le modifiche selezionate, mostrare la storia della revisione e mostrare i dettagli del commit per quel file.
6. Creare un ramo Git Creare un ramo Git
Il ramo master sarà corrente per default. Comunque, è raccomandato sempre di uscire dal master e fare il tuo lavoro su un ramo separato, specifico per la caratteristica. Quando hai finito di codificare la tua caratteristica (e quando hai testato le tue modifiche), allora unisci le tue modifiche al ramo master.
Vediamo come creare un ramo dal master.
Vai nell’angolo in basso a destra di Android Studio e clicca sul menu a discesa Git: master.
Clicca sul pulsante New Branch.
Inserisci il nome del ramo. Nel nostro caso, usa dev.
Finalmente, fare clic sul pulsante OK per Android Studio per creare automaticamente il ramo dev e anche il checkout a quel ramo.
Ora siamo nel ramo dev. Come puoi vedere qui sotto:
Sotto il cappuccio, Android Studio esegue il comando:
git checkout -b dev
Nota che possiamo anche creare un nuovo ramo navigando in VCS > Git > Branches > New Branch.
7. Fusione dei rami Git
Nel ramo dev, basta creare un’attività di base ProfileActivity.kt e i suoi file di layout e fare il commit delle modifiche. Stiamo per vedere come unire dev a master proprio all’interno di Android Studio.
Vai e fai il check out dal ramo corrente (dev) al ramo master (significa che stiamo passando da dev al master).
Merge, Checkout, Delete, Compare, Rename Branch
Se clicchi su un ramo, ti verranno mostrate alcune operazioni che puoi eseguire su quel ramo. Le operazioni includono la fusione, il confronto tra due rami, la ridenominazione del ramo, il rebasing, il checkout e la cancellazione del ramo.
In questo post vedremo come unire un ramo. Nel ramo master, unisci il ramo dev navigando nel ramo dev e cliccando su Merge nel menu.
Ecco fatto! Ora abbiamo unito con successo il nostro ramo dev al ramo master.
Dietro le quinte, Android Studio esegue il comando:
git merge dev
Nota che possiamo anche fare la fusione avanzata proprio dentro Android Studio. Siamo in grado di specificare la strategia di fusione (Resolve, Recursive, Octopus, Ours o Subtree) o di non utilizzare la modalità di fusione rapida.
Per impostare questo quando si fa la fusione, navigare in VCS > Git > Merge Changes…
Qui è possibile selezionare più rami da unire, selezionare la strategia di fusione e scrivere un messaggio di commit. Si raccomanda vivamente di capire bene queste strategie di fusione e se usare la modalità di avanzamento veloce prima di fare la fusione.
8. Pushing a un repository remoto
Ogni progetto Git dovrebbe avere un repository remoto o centrale dove altri sviluppatori possono collaborare al progetto da qualsiasi parte del mondo. In Android Studio, è anche possibile spingere i nostri commit o modifiche a un repository remoto. Per farlo, vai su VCS > Git > Push…
Qui possiamo aggiungere l’URL del repository remoto cliccando sul link Define remote nel dialogo Push Commits che appare. Infine, clicca sul pulsante Push quando hai finito! Una scorciatoia è usare Control-Shift-K.
Android Studio esegue il seguente comando dietro le quinte:
git push
Puoi anche fare rapidamente un commit con un push cliccando sull’icona commit changes nella barra degli strumenti principale o usando Control-K.
9. Estrarre da un repository remoto
Per aggiornare il tuo progetto (per fare un pull) con le ultime modifiche dal repository remoto (dovresti aver già aggiunto l’origine remota), vai su VCS > Git > Pull. Questo aggiornerà automaticamente il tuo progetto Android Studio con il codice più recente dal repository remoto.
Per iniziare un pull, puoi anche cliccare sull’icona aggiorna progetto nella barra degli strumenti principale o usare la scorciatoia Control-T.
Se fai questo, Android Studio eseguirà il comando Git pull
dietro le quinte:
git pull
Nota che se incontri un conflitto di unione mentre tiri o spingi, Android Studio mostrerà una finestra di dialogo sul conflitto di unione davvero comoda che ti aiuterà a risolvere quel conflitto.
Conclusione
In questo tutorial, hai imparato quanto sia facile eseguire diverse operazioni di Git che potresti fare tipicamente sulla linea di comando o nel terminale. Usare gli strumenti Git di Android Studio rende più facile ed efficiente la collaborazione su progetti Android con altri sviluppatori.
Per saperne di più sulla codifica per Android, controlla alcuni dei nostri altri corsi e tutorial qui su Envato Tuts+!
-
AndroidMostrare le finestre di dialogo del Material Design in un’applicazione AndroidChike Mgbemena
-
AndroidCreare un’interfaccia a schede del Material Design Tabbed Interface in un’applicazione AndroidChike Mgbemena
-
AndroidCostruire un’applicazione musicale con un modello di applicazione AndroidChike Mgbemena