Per lavorare con il codice Android è necessario utilizzare Git (un sistema di controllo della versione open source) e Repo (uno strumento di gestione dei repository creato da Google che viene eseguito su Git). Per una spiegazione della relazione tra Repo e Git e link alla documentazione di supporto per ogni strumento, vedi Strumenti di controllo del codice sorgente.
Flow
Lo sviluppo per Android prevede il seguente flusso di lavoro di base:
- Avvia un nuovo ramo dell'argomento utilizzando
repo start. - Modifica i file.
- Modifiche della fase utilizzando
git add. - Esegui il commit delle modifiche utilizzando
git commit. - Carica le modifiche sul server di revisione utilizzando
repo upload.
Tasks
L'utilizzo di Git e Repo nei repository di codice Android prevede l'esecuzione delle seguenti attività comuni.
| Comando | Descrizione |
|---|---|
repo init |
Inizializza un nuovo client. |
repo sync |
Sincronizza il client con i repository. |
repo start |
Avvia un nuovo ramo. |
repo status |
Mostra lo stato del branch attuale. |
repo upload |
Carica le modifiche sul server di revisione. |
git add |
Organizza i file. |
git commit |
Esegue il commit dei file in staging. |
git branch |
Mostra le filiali attuali. |
git branch [branch] |
Crea un nuovo ramo dell'argomento. |
git checkout [branch] |
Passa a HEAD nel branch specificato. |
git merge [branch] |
Unisce [branch] al ramo corrente. |
git diff |
Mostra la differenza tra le modifiche non eseguite. |
git diff --cached |
Mostra la differenza tra le modifiche in attesa di commit. |
git log |
Mostra la cronologia del ramo corrente. |
git log m/[codeline].. |
Mostra i commit che non sono stati inviati. |
Per informazioni sull'utilizzo di Repo per scaricare il codice sorgente, vedi Scaricare il codice sorgente e Riferimento ai comandi Repo.
Sincronizzare i client
Per sincronizzare i file per tutti i progetti disponibili:
repo sync
Per sincronizzare i file per i progetti selezionati:
repo sync PROJECT0 PROJECT1 ... PROJECTN
Creare rami di argomenti
Avvia un ramo dell'argomento nel tuo ambiente di lavoro locale ogni volta che inizi una modifica, ad esempio quando inizi a lavorare su un bug o una nuova funzionalità. Un ramo argomento non è una copia dei file originali, ma un puntatore a un commit specifico, il che rende la creazione di rami locali e il passaggio da uno all'altro un'operazione leggera. Utilizzando i rami, puoi isolare un aspetto del tuo lavoro dagli altri. Per saperne di più sull'utilizzo delle diramazioni degli argomenti, consulta Come separare le diramazioni degli argomenti.
Per avviare un ramo dell'argomento utilizzando Repo, vai al progetto ed esegui:
repo start BRANCH_NAME .
Il punto finale ( .) rappresenta il progetto nella directory di lavoro
corrente.
Per verificare che il nuovo ramo sia stato creato:
repo status .
Utilizzare i rami degli argomenti
Per assegnare il ramo a un progetto specifico:
repo start BRANCH_NAME PROJECT_NAME
Per un elenco di tutti i progetti, consulta i repository Git di Google. Se hai già raggiunto la directory del progetto, utilizza un punto per rappresentare il progetto corrente.
Per passare a un altro ramo nell'ambiente di lavoro locale:
git checkout BRANCH_NAME
Per visualizzare un elenco dei rami esistenti:
git branch
o
repo branches
Entrambi i comandi restituiscono l'elenco dei rami esistenti con il nome del ramo corrente preceduto da un asterisco (*).
File di staging
Per impostazione predefinita, Git rileva, ma non tiene traccia delle modifiche apportate a un progetto. Per indicare a Git di conservare le modifiche, devi contrassegnarle o prepararle per l'inclusione in un commit.
Per preparare le modifiche:
git add
Questo comando accetta argomenti per file o directory all'interno della directory del progetto. Nonostante il nome, git add non si limita ad aggiungere file al repository Git, ma può essere utilizzato anche per preparare modifiche ed eliminazioni di file.
Visualizzare lo stato del client
Per elencare lo stato dei file:
repo status
Per visualizzare le modifiche di cui non è stato eseguito il commit (modifiche locali non contrassegnate per il commit):
repo diff
Per visualizzare le modifiche di cui è stato eseguito il commit (modifiche localizzate contrassegnate per
il commit), assicurati di trovarti nella directory del progetto, quindi esegui git
diff con l'argomento cached:
cd ~/WORKING_DIRECTORY/PROJECTgit diff --cached