Controllo facile delle versioni con Git in Android Studio

Come sai, è consigliabile utilizzare sempre la gestione del controllo del codice sorgente (SCM) per i tuoi progetti, compresi i progetti personali. Sai che Android Studio ha una straordinaria integrazione con Git per la gestione del controllo del codice sorgente? Se non lo sapevi o non hai esperienza nell'usarlo, continua a leggere questo post. Anche se hai già utilizzato l'integrazione Git di Android Studio, potresti comunque cogliere alcuni trucchi utili in questo post.

Ti mostrerò le numerose funzionalità del supporto Git in Android Studio e anche quanto sia facile eseguire le diverse operazioni Git (commit, push, pull, branch, ecc.) Da Android Studio. 

In questo tutorial, ti guiderò attraverso l'elenco delle funzionalità SCM disponibili in Android Studio. Vedremo le seguenti aree:

  • integrazione di un nuovo progetto Android Studio con Git
  • lavorando con GitHub o Bitbucket
  • esplorare il Controllo della versione finestra
  • impegna
  • rami 
  • spingendo e tirando da un repository remoto

Prerequisiti

Per poter seguire questo tutorial, avrai bisogno di:

  • una conoscenza di base del sistema di controllo della versione distribuito Git
  • Android Studio 3.0 o versioni successive

1. Creare un progetto per Android Studio

Avvia Android Studio e crea un nuovo progetto (puoi chiamarlo GitApplicationDemo) con un'attività vuota chiamata Attività principale

2. Integrazione di Git 

Dopo aver impostato il tuo progetto Android Studio, fai clic su VCS menu, passa il mouse su Importa nel controllo della versione menu e selezionare Crea repository Git ...

Quindi seleziona la cartella superiore del tuo progetto Android Studio.

Clicca il ok pulsante 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, fondamentalmente a .idiota directory con sottodirectory per oggettirefs / testerefs / tag, e file di modello. Un'iniziale CAPO viene creato anche il file che fa riferimento all'HEAD del ramo principale.

Apparirà una finestra di dialogo informativa: 

Questo ci dice di un file chiamato vcs.xml dentro il .idea cartella. Questa cartella contiene solo impostazioni specifiche del progetto. Si noti che questo è il formato utilizzato da tutte le versioni recenti di IntelliJ IDEA.

Idealmente, i file nel .idea/ non dovrebbe raggiungere Git-quindi dovresti aggiungerlo a .gitignore

Per impostazione predefinita, siamo passati al ramo principale. Puoi sempre visualizzare il ramo attuale del tuo progetto nell'angolo in basso a destra di Android Studio. 

3. Integrazione con GitHub o Bitbucket

Puoi facilmente lavorare su qualsiasi tuo repository di codice sorgente Android che si trova in un account GitHub o Bitbucket in Android Studio. Lascia che ti mostri come farlo. 

Navigare verso File> Nuovo> Progetto da Controllo versione> GitHub

(Se vuoi lavorare su un repository da Bitbucket, seleziona bitbucket anziché. Se vuoi semplicemente clonare un repository Git da internet sul tuo computer locale, seleziona il Idiota opzione di menu.)

Quindi, inserisci le credenziali dell'account GitHub e fai clic Accesso

Se il login è andato a buon fine, il Clone Repository verrà visualizzata la finestra di dialogo. Questa finestra di dialogo mostra un elenco a discesa contenente un elenco di repository su GitHub attualmente in tuo possesso o su cui hai lavorato.

Clic Clone per clonare il repository sul computer locale all'interno della directory padre già selezionata.  

4. La finestra di controllo della versione

Dopo aver avviato con successo il nostro progetto Android Studio con Git, Android Studio mostrerà il Controllo della versione finestra. Clicca sul Controllo della versione scheda (in basso a sinistra di Android Studio) ed esploriamo ciò che abbiamo lì. Nota che puoi usare Alt-9 per aprire rapidamente questa finestra. 

All'interno di questa finestra, abbiamo tre diverse schede: Modifiche locali, consolle, e Login

Le modifiche locali Tab

Questo mostra l'elenco dei file che sono stati modificati localmente (sul proprio computer) e non ancora impegnati nel repository. 

Diamo un'occhiata alle barre degli strumenti degli articoli disponibili quando sei nel Cambiamenti locali linguetta.

  1. Fare clic su questa icona per aggiornare lo stato dei file nel posto di lavoro corrente. La scorciatoia è Control-F5
  2. Questa icona quando si fa clic impegna le modifiche correnti. La scorciatoia è Control-Alt-Z.
  3. Fare clic su questa icona per ripristinare eventuali modifiche selezionate. 
  4. Fare clic su questa icona per creare un nuovo elenco di modifiche. Si noti che una lista delle modifiche è un insieme di modifiche nei file che rappresenta una modifica logica nel codice sorgente. La scorciatoia è Alt-Ins
  5. Fare clic su questo pulsante per eliminare l'elenco delle modifiche selezionato. 
  6. Per rendere attivo un elenco delle modifiche, fai semplicemente clic su questa icona. 
  7. Per spostare un file selezionato su un altro elenco delle modifiche, fare clic su questa icona. 
  1. Fare clic su questa icona per espandere per visualizzare tutti i file. 
  2. Fare clic su questa icona per comprimere tutti i file. 
  3. Fare clic su questa icona per mostrare i file modificati che sono raggruppati per cartelle. 
  4. Fare clic su questa icona per copiare il percorso del file selezionato negli Appunti del sistema. 
  5. Fare clic su questa icona per visualizzare il nodo dei file ignorati con l'elenco dei file esistenti ignorati da Git.
  6. Fare clic su questa icona per impostare l'elenco dei file che verranno ignorati da Git. 
  7. Fare clic su questa icona per aprire il Anteprima diff riquadro per confrontare il file corrente con l'ultima revisione impegnata. 

La console Tab

All'interno di questa scheda, vediamo il risultato dell'esecuzione di comandi relativi a Git. Nota che non puoi scrivere comandi Git all'interno di questa tab-do che invece nella finestra del terminale in Android Studio. 

La scheda Registro

Questa scheda mostra tutte le modifiche che sono state commesse su tutti i rami del repository locale e remoto. All'interno di questa scheda puoi sfogliare i commit su qualsiasi ramo. 


La casella di ricerca viene utilizzata per cercare commit con la stringa inserita o un'espressione regolare. 

  1. Questo menu a discesa utilizzato per filtrare i commit per ramo. Per visualizzare tutti i commit locali e remoti, seleziona Tutti (il predefinito). 
  2. Per filtrare i commit dall'autore, utilizzare questo elenco a discesa. Dovrai digitare il nome dell'autore per visualizzare i loro commit. Selezionare Tutti per visualizzare i commit di tutti gli utenti. 
  3. Usa questo menu a discesa per filtrare i commit per un intervallo di tempo o per una data specifica. Per essere specifici sulla data, è sufficiente fare clic Selezionare e scegli la data. Selezionare Tutti per visualizzare i commit fatti in tutte le date. 
  4. Utilizzare questo menu a discesa per filtrare i commit in base al percorso dei file modificati. 
  5. Questo pulsante (IntelliSort) consente un modo più conveniente per vedere le unioni, visualizzando prima i commit in entrata, direttamente sotto il commit di unione. 
  6. Se questo pulsante è abilitato, i rami lunghi vengono visualizzati per intero, anche se non ci sono commit in essi. 
  7. Utilizzare questo pulsante per aggiornare l'elenco di commit nel progetto. 
  8. Per andare a un hash, tag o ramo, basta usare questo pulsante. 
  9. Fare clic su questo pulsante per applicare le modifiche dal commit selezionato al ramo corrente. 
  10. Fare clic su questo pulsante per evidenziare i commit dal ramo selezionato che non sono ancora stati applicati al ramo corrente. 

Puoi saperne di più su Controllo della versione finestra degli strumenti nella documentazione IntelliJ IDEA. 

5. Fare un commit

Noterai che quando abbiamo configurato l'integrazione Git con il nostro progetto Android Studio, il colore del nostro nome file è diventato marrone. Secondo la documentazione ufficiale IntelliJ IDEA, per i file con etichette marroni:

Il file esiste localmente, ma non si trova nel repository e non è pianificato per l'aggiunta. 

Vediamo ora come eseguire un commit in Android Studio. Ma prima, dobbiamo aggiungere le nostre modifiche nella directory di lavoro all'area di staging. Nella console, useremmo il aggiungi git comando. 

aggiungi git  || 

Ma possiamo farlo direttamente da Android Studio. Seleziona il File senza versione discesa nel Modifiche locali linguetta, tasto destro del mouse e vai a Git> Aggiungi o usare Control-Alt-A. Ricorda che selezionando la cartella radice verranno aggiunti tutti gli elementi all'interno dell'area di gestione temporanea. 

Ora, osserverai che i colori delle etichette del tuo file sono cambiati da marrone a verde. Ecco cosa dice la documentazione IntelliJ IDEA sui nomi dei file che sono colorati in verde: 

Il file è programmato per essere aggiunto al repository. 

Per ulteriori informazioni sui diversi colori che possono avere un nome file in base allo stato del file in Android Studio (IntelliJ IDEA), consultare la documentazione relativa allo stato dei file. 

Per confermare definitivamente le nostre modifiche, fai clic sul pulsante Cambia commit in Modifiche locali scheda e il Applica modifiche verrà visualizzata la finestra di dialogo. 

  1. Qui possiamo selezionare o deselezionare i file che dovrebbero essere inclusi in questo commit. Per impostazione predefinita, tutti i file di staging sono selezionati. 
  2. Scrivi il tuo messaggio di commit qui dentro. Se hai un messaggio di commit scritto in precedenza, verrà mostrato qui come predefinito. 
  3. Seleziona le operazioni da eseguire prima di impegnarti a Git. 
  4. Confronto affiancato dei file modificati. 
  5. Con questo pulsante a discesa, puoi commettere e spingere o semplicemente commettere. 

Quindi per fare un commit, scriviamo un messaggio di commit:

Commit iniziale 

Selezionare Commettere nel Commettere drop-down per impegnare finalmente le tue modifiche. Nota che puoi usare il collegamento Control-K per apportare modifiche in qualsiasi momento da Android Studio. 

Se ora rivisita il Modifiche locali scheda in Controllo della versione finestra, non vedrai più nessuno dei tuoi file elencati qui, perché li abbiamo commessi con successo nel nostro repository locale. 

Si noti che è anche possibile navigare verso VCS> Git> Conferma file ...  fare un commit e VCS> Git> Aggiungi aggiungere un file per la stadiazione. Inoltre, puoi fare clic sull'icona delle modifiche di commit nella barra degli strumenti in alto principale in Android Studio per eseguire rapidamente un commit (o commit e push). 

Nel nostro MainActivity.kt classe, ho fatto una semplice modifica in classe ignorando onResume (). Noterai che il colore del nome del file dopo la modifica è ora blu; questo significa che abbiamo modificato il file. 

Visualizzazione del registro di commit

Ora, rivisita il Controllo della versione finestra ancora una volta e vai al Login scheda. Quello che ora vedrete sono i commit che sono stati fatti per questo progetto. Per ottenere maggiori dettagli su qualsiasi commit, basta fare clic su di esso. 

  1. Questo riquadro principale mostra tutti i commit sul progetto in base al filtro selezionato. In altre parole, questo ci mostra la storia del commit. 
  2. Questo riquadro visualizza i file e le cartelle interessate dal commit selezionato nel riquadro della cronologia dei commit. 
  3. Questo riquadro mostra maggiori dettagli sul commit selezionato. 

Facendo clic con il tasto destro su un commit, puoi anche vedere un menu che ti consente di copiare il numero di revisione, creare una patch, controllare una revisione, derivare da quel commit, creare un nuovo tag e resettare il ramo corrente su quel commit. 

Vediamo ora come possiamo vedere quale codice è stato aggiunto, modificato o rimosso. In altre parole, vogliamo verificare - più in dettaglio - le modifiche apportate. 

Basta fare clic sull'icona mostra diff sopra la finestra in cui vengono visualizzati i file interessati dal commit. Una scorciatoia è da usare Control-D o per fare doppio clic sul file o sulla cartella. 

Quello che vedrai è un Mostra diff dialog, mostrando le differenze tra il commit precedente e il commit selezionato. 

Una regione di colore verde nel file evidenzia le linee che sono state aggiunte al file: dovresti vederne alcune se la segui. Le regioni grigie evidenziano le linee rimosse. E blu evidenzia le linee che sono state cambiate. Prova ad esplorare i filtri e i pulsanti icona disponibili nella parte superiore del Mostra diff dialogo per saperne di più. 

Nota che puoi anche vedere le modifiche alle immagini nel Mostra diff dialogo!

Cliccando con il tasto destro su un file, hai anche la possibilità di vedere la differenza tra l'ultimo commit e il commit corrente di quel file-show diff (scorciatoia Control-D). Puoi anche modificare la fonte (F4), apri la versione nel repository, ripristina le modifiche selezionate, mostra la cronologia per la revisione e mostra i dettagli del commit per quel file.

6. Creazione di un ramo Git

Il ramo principale sarà aggiornato per impostazione predefinita. Tuttavia, si consiglia di deviare sempre dal master e svolgere il proprio lavoro su un ramo separato, specifico per funzione. Una volta terminata la codifica della funzione (e una volta verificate le modifiche), unisci le modifiche al ramo principale. 

Vediamo come creare un ramo dal master. 

Vai all'angolo in basso a destra di Android Studio e fai clic su Git: maestro menu a discesa. 

Clicca sul New Branch pulsante. 

Inserisci il nome del ramo. Nel nostro caso, usa dev

Infine, fai clic sul ok pulsante per Android Studio per creare automaticamente il devramo e anche checkout a quel ramo. 

Ora siamo al momento devramo. Come puoi vedere qui sotto:

Sotto il cofano, Android Studio esegue il comando:

 git checkout -b dev

Si noti che possiamo anche creare un nuovo ramo navigando verso VCS> Git> Succursali> Nuova filiale

7. Unione di rami Git

Dentro il dev ramo, basta creare un'attività di base ProfileActivity.kt e i suoi file di layout e conferma le tue modifiche. Vedremo come unire devper padroneggiare direttamente all'interno di Android Studio. 

Vai e dai un'occhiata al ramo attuale (dev) al ramo principale (il che significa che stiamo passando da deval maestro). 

Unisci, Acquista, Elimina, Confronta, Rinomina ramo

Se fai clic su un ramo, ti verranno mostrate alcune operazioni che puoi eseguire su quel ramo. Le operazioni includono la fusione, il confronto di due rami, la ridenominazione del ramo, il ribasamento, il check-out e l'eliminazione del ramo. 

Stiamo andando a vedere come unire un ramo in questo post. Nel ramo principale, unire il dev ramificarsi navigando verso dev ramo e cliccando fondersi nel menu. 

Questo è tutto! Ora abbiamo unito con successo il nostro ramo dev al ramo master. 

Dietro le quinte, Android Studio esegue il comando:

git merge dev

Tieni presente che possiamo anche eseguire l'unione avanzata direttamente in Android Studio. Siamo in grado di specificare la strategia di fusione (Resolve, Recursive, Octopus, Our o Subtree) o di non utilizzare la modalità di fusione rapida. 

Per impostarlo durante l'unione, vai a VCS> Git> Unisci modifiche ...

Qui puoi selezionare più rami da unire, selezionare la strategia di unione e scrivere un messaggio di commit. Si consiglia vivamente di comprendere veramente queste strategie di fusione e se utilizzare la modalità di avanzamento rapido prima dell'unione. 

8. Trasferimento 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 trasferire i nostri commit o le modifiche a un repository remoto. Per farlo, vai a VCS> Git> Push ...  

Qui possiamo aggiungere l'URL dell'archivio remoto facendo clic sul Definisci il telecomando collegamento nel Push Commits dialogo che si apre. Infine, fai clic su Spingere pulsante quando fatto! Una scorciatoia è da usare Control-Shift-K

Android Studio esegue il seguente comando dietro le quinte:

spingere

È inoltre possibile eseguire rapidamente un commit con una pressione facendo clic sull'icona Modifica commit nella barra degli strumenti principale o utilizzando Control-K

9. Estrazione 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 a VCS> Git> Pull. Questo aggiornerà automaticamente il tuo progetto Android Studio con il codice più recente dal repository remoto. 

Per avviare un pull, è anche possibile fare clic sull'icona di aggiornamento del progetto nella barra degli strumenti principale o utilizzare il pulsante Control-T scorciatoia. 

Se lo fai, Android Studio eseguirà il Git Tirare comando dietro le quinte:

tira fuori 

Tieni presente che se si verifica un conflitto di unione durante il pull o il push, Android Studio mostrerà una finestra di dialogo conflitto di unione molto utile che ti aiuterà a risolvere quel conflitto. 

Conclusione

In questo tutorial, hai imparato quanto sia facile eseguire diverse operazioni Git che potresti fare normalmente sulla riga di comando o nel terminale. L'utilizzo degli strumenti Git di Android Studio rende più semplice ed efficiente collaborare su progetti Android con altri sviluppatori. 

Per ulteriori informazioni sulla codifica per Android, consulta alcuni dei nostri altri corsi e tutorial qui su Envato Tuts+!