Gestione del controllo del codice sorgente con il pannello Git - AWS Cloud9

AWS Cloud9 non è più disponibile per i nuovi clienti. I clienti esistenti di AWS Cloud9 possono continuare a utilizzare il servizio normalmente. Ulteriori informazioni

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestione del controllo del codice sorgente con il pannello Git

L'estensione del pannello Git per AWS Cloud9 fornisce un comodo accesso all'interfaccia utente ai comandi Git principali e avanzati.

Questa sezione illustra come accedere alle funzioni chiave di Git per la gestione del controllo del codice sorgente. Le procedure si concentrano sull'utilizzo del menu del pannello Git per eseguire i comandi Git sul repository e contenuto relativo.

Opzioni di interfaccia per l'inizializzazione e la clonazione di un repository Git

Puoi anche accedere a qualsiasi comando Git supportato iniziando a inserire il nome nella casella di ricerca del pannello Git:

Opzioni di interfaccia per l'inizializzazione e la clonazione di un repository Git

Puoi inoltre visualizzare i comandi Git effettivi che vengono eseguiti quando interagisci con l'interfaccia del pannello Git. Per visualizzare l'attività della riga di comando, accedi al menu del pannello Git e scegli Show Git Output (Mostra output Git).

Visualizzazione dell'output del comando Git

Inizializzazione o clonazione di un repository Git

Un repository Git («repo») contiene la cronologia completa di un progetto fin dall'inizio. Un repository è costituito da tutti gli snapshot del contenuto del progetto che sono stati acquisiti ogni volta che si è eseguito il commit dei file di gestione temporanea in tale repository.

Il pannello Git supporta entrambi i modi per ottenere un repository Git:

  • Inizializzazione di una directory esistente come repository Git.

  • Clonazione di un repository esistente e copia nella directory locale.

Opzioni di interfaccia per l'inizializzazione e la clonazione di un repository Git
Nota

Le opzioni di interfaccia per l'inizializzazione o la clonazione di un repository sono disponibili solo se non si dispone già di un repository Git aggiunto alla cartella del workspace nell'ambiente. Se disponi già di una directory di lavoro per un repository, la finestra del pannello Git visualizza lo stato della directory di lavoro e dell'area di gestione temporanea. Il menu del pannello Git fornisce anche l'accesso ai comandi Git che è possibile eseguire sul repository.

Inizializzazione o clonazione di un repository Git

  1. Se il pannello Git non è già disponibile, accedi scegliendo Window (Finestra), Source Control (Controllo del codice sorgente), quindi scegli l'icona Git.

    Nota

    Puoi anche aprire il pannello Git usando il tasto di scelta rapida Ctrl+Maiusc+G.

  2. Scegli se inizializzare un nuovo repository o clonarne uno esistente.

    Initialize a repository
    • Nel pannello Git, scegli Initialize Repository (Inizializza repository).

    • Quindi, scegli una cartella dell'area di lavoro in cui verrà inizializzato il repository Git. È possibile immettere un percorso della cartella, scegliere un percorso o scegliere una cartella in una finestra di dialogo.

    • Se utilizzi una finestra di dialogo, seleziona la cartella di destinazione e scegli Initialize Repository (Inizializza repository).

    Selezione di una cartella dell'area di lavoro per un repository Git

    Dopo aver inizializzato il repository Git nella cartella selezionata, il pannello Git visualizza tutti i file già presenti in quella cartella come non tracciati e pronti per essere aggiunti all'area di gestione temporanea di Git.

    Selezione di una cartella dell'area di lavoro per un repository Git
    Clone a repository
    • Nella finestra del pannello Git, scegli Clone Repository (Clona repository).

    • Quindi inserisci a URL per il repository remoto che desideri clonare (ad esempiohttps://github.com/my-own-repo/my-repo-project-name.git, per clonare un repository ospitato su) e premi Invio. GitHub

    • Nella finestra di dialogo visualizzata, seleziona una cartella dell'area di lavoro per il repository clonato e scegli Select Repository Location (Seleziona posizione repository).

    Nota

    Se accedi a un repository ospitato su un sito esterno (ad esempio)GitHub, devi anche inserire le credenziali di accesso per il sito per completare il processo.

    Dopo aver clonato il repository remoto nella cartella selezionata, puoi eseguire il comando git pull per sincronizzare il repository locale con le ultime modifiche nel repository remoto. Per ulteriori informazioni, consulta Utilizzo dei repository remoti.

Gestione temporanea e commit dei file

Dopo aver ottenuto un repository Git, puoi iniziare a popolarlo con il contenuto usando un processo in due passaggi:

  1. Aggiungi contenuto non tracciato o modificato di recente all'area di gestione temporanea.

  2. Esegui il commit dei file nell'area di gestione temporanea nella directory di lavoro.

Importante

Potrebbe non essere necessario eseguire il commit di ogni file nella directory di lavoro nel repository. Ad esempio, è improbabile dover aggiungere file generati durante il tempo di esecuzione al repository del progetto. Con il pannello Git, puoi contrassegnare i file da ignorare aggiungendoli a un elenco in un file .gitignore.

Per aggiornare l'elenco in .gitignore, fai clic con il pulsante destro del mouse su un file che non è stato aggiunto all'area di gestione temporanea e seleziona Add File to .gitignore (Aggiungi file a .gitignore). IDEapre il .gitignore file e il nome del file selezionato viene aggiunto all'elenco dei file ignorati.

Per informazioni sull'utilizzo dei criteri di ricerca in .gitignore per escludere i tipi di file, consulta la documentazione di riferimento nel sito git-scm.com.

Stage files

I file non monitorati (etichettati "U") e i file modificati (etichettati "M") che non sono stati aggiunti all'area di gestione temporanea vengono elencati in Changes (Modifiche) nel pannello Git.

Contenuto non tracciato nella cartella di lavoro del repository git

Utilizzando l'interfaccia del pannello Git, è possibile aggiungere file specifici o tutti i file non tracciati e modificati all'area di gestione temporanea:

  • File specifici: seleziona il file e scegli + per aggiungerlo all'area di gestione temporanea. In alternativa, fai clic con il pulsante destro del mouse sul file e scegli Stage Changes (Modifiche gestione temporanea).

  • Tutti i file: vai al menu del pannello Git e scegli Stage Changes (Tutte le modifiche gestione temporanea).

I file aggiunti all'indice del repository sono elencati in Staged Changes (Modifiche sottoposte a gestione temporanea). I file non monitorati in precedenza sono etichettati "A" per indicare che sono stati messi nell'area di gestione temporanea.

Contenuto di gestione temporanea nella cartella dell'area di lavoro del repository git
Nota

È inoltre possibile annullare la gestione temporanea delle modifiche specifiche o tutte le modifiche. Metti in pausa un singolo file, quindi scegli -. In alternativa, fai clic con il pulsante destro del mouse sul file e scegli Stage Changes (Annulla gestione temporanea delle modifiche). Per annullare la gestione temporanea di tutte le modifiche, vai al menu del pannello e scegli Unstage All Changes (Annulla gestione temporanea di tutte le modifiche).

Commit files

Puoi usare il comando commit di Git per acquisire i file di gestione temporanea come snapshot permanente nel repository. Utilizzando l'interfaccia del pannello Git, è possibile scegliere i file di cui eseguire il commit:

  • Eseguire il commit dei file nell'area di gestione temporanea: vai al menu del pannello Git scegli Commit (Esegui il commit) o Commit Staged (Esegui il commit di gestione temporanea).

  • Eseguire il commit di tutti i file nella directory di lavoro: vai al menu del pannello Git e scegli Commit (Esegui il commit). (Questa opzione utilizza git add per aggiungere file all'area di gestione temporanea prima di chiamare git commit).

Nota

Puoi anche utilizzare le opzioni amend e signed-off durante il commit di file con il pannello Git. L'opzione amend modifica il messaggio di commit del commit più recente. L'opzione sign-off può identificare chi ha eseguito il commit nel registro Git.

Puoi anche invertire un commit andando al menu del pannello Git e scegliendo Undo Last Commit (Annulla ultimo commit)

Visualizzazione di diverse versioni di file

Puoi confrontare le versioni di un file che è stato modificato dopo la gestione temporanea o il commit.

  • File elencati in Changes (Modifiche): scegli "M" per visualizzare le differenze tra la versione nella directory di lavoro e l'ultima versione sottoposta a gestione temporanea o a commit nel repository.

  • File elencati in Staged Changes (Modifiche sottoposte a gestione temporanea): scegli "M" per visualizzare le differenze tra la versione nell'area di gestione temporanea e l'ultima versione sottoposta a commit nel repository.

Dopo aver scelto «M», una IDE finestra mostra le differenze tra le due versioni del file. Un lato mostra la versione tracciata come corrente nel repository. L'altro lato mostra la versione modificata non ancora sottoposto a commit.

Diffusione del contenuto con versione nel repository git

Gestione dei rami

Git facilita notevolmente la gestione del flusso di lavoro permettendo di utilizzare nuove funzionalità nei rami indipendenti dal ramo principale del repository. Puoi passare facilmente da un ramo all'altro assicurandoti di avere sempre il codice ready-to-build sorgente nel ramo principale.

Creare un ramo

La creazione di un ramo comporta la denominazione dello stesso e la selezione del suo punto di partenza.

  1. Nel menu del pannello Git, scegli Checkout to (Checkout in). In alternativa, puoi scegliere il nome del ramo corrente visualizzato in fondo al pannello Git.

    Selezione del ramo Git corrente
  2. Scegli un'opzione per la creazione di un nuovo ramo:

    • Create new branch (Crea nuovo ramo): il nuovo ramo inizia dall'ultimo commit del ramo corrente.

    • Create new branch from (Crea un nuovo ramo da): il nuovo ramo inizia dall'ultimo commit del ramo selezionato in una schermata successiva.

  3. Inserisci il nome del nuovo ramo.

  4. Se specifichi un determinato ramo come punto di partenza, selezionane uno dall'elenco.

Dopo il passaggio al nuovo ramo, puoi controllare il nome del ramo corrente visualizzando la parte inferiore del pannello Git.

Nota

Se utilizzi un repository remoto, pubblica il nuovo ramo nel repository remoto upstream per permettere ad altri utenti di accedere ai tuoi contenuti.

Cambiamento di rami

Uno dei principali vantaggi della gestione del controllo del codice sorgente con Git è che puoi passare da un progetto all'altro cambiando semplicemente i rami.

Importante

Non è possibile cambiare ramo se nel ramo corrente sono presenti file che non sono stati sottoposti a commit nel repository. Prima è necessario pulire la directory di lavoro eseguendo il commit o accantonando il lavoro.

  1. Scegli il nome del ramo corrente visualizzato in fondo al pannello Git. In alternativa, vai al pannello Git e scegli Checkout to (Checkout in).

  2. Scegli un ramo dall'elenco visualizzato.

Dopo il passaggio, la directory di lavoro del repository viene aggiornata con le versioni dei file di cui è stato eseguito il commit più di recente nel ramo selezionato.

Unione dei rami

Dopo aver terminato utilizzare una caratteristica in un ramo discreto, di norma le modifiche devono essere integrate nel progetto principale. Con Git, questo tipo di integrazione è facilitato dall'unione di un ramo (ad esempio, un ramo funzionalità) in un altro (di solito il ramo principale o di default del repository).

  1. Per selezionare un ramo in cui unire un altro ramo, vai al menu del pannello Git e scegli Checkout to (Checkout in).

    In alternativa, scegli il nome del ramo corrente visualizzato in fondo al pannello Git.

  2. Dall'elenco visualizzato, scegli un ramo a cui passare.

  3. Nella casella Search (Cerca) del pannello Git, inizia a inserire la parola "merge".

    Scegli Git: Merge Branch quando viene visualizzato sotto l'elenco dei comandi.

    Individuazione del comando di unione
  4. Dall'elenco visualizzato, scegli un ramo da unire nel ramo di destinazione.

    Se l'unione viene completata senza conflitti, l'interfaccia del pannello Git viene aggiornata in modo da mostrare il ramo di destinazione contenente le modifiche unite.

Con l'unione di rami, potrebbero verificarsi dei conflitti di unione derivanti da modifiche incompatibili apportate allo stesso contenuto. In tal caso, viene indicato di risolvere i conflitti prima di eseguire l'unione.

È possibile utilizzare la finestra IDE dell'editor di codice per identificare il contenuto in conflitto nei due rami e quindi apportare modifiche per risolvere le differenze.

IDEfinestra per risolvere i conflitti di fusione

Utilizzo dei repository remoti

I repository remoti ospitati su Internet o su una rete facilitano la collaborazione permettendo ai membri del team di condividere le modifiche di cui hanno eseguito il commit nelle proprie responsabilità locali. L'uso dei comandi Git che caricano e scaricano dati, assicura che i contenuti del repository "downstream" (locale) siano sincronizzati con quelli del repository "upstream" (remoto).

Pubblicazione di un ramo in un repository remoto

Dopo aver creato un ramo per un repository locale, questo risulta privato e non è disponibile per i propri collaboratori finché non ne esegui il push "upstream" al repository remoto.

  1. Per pubblicare il ramo corrente, vai al menu del pannello Git e scegli Publish Branch (Pubblica ramo). In alternativa, fai clic sul simbolo della nuvola accanto al nome del ramo in fondo al pannello Git.

    Opzione per la pubblicazione di un ramo in un repository remoto
  2. Se necessario, immetti le credenziali per accedere al repository remoto.

Se il ramo viene pubblicato correttamente nel repository remoto, accanto al nome del ramo in fondo al pannello Git viene visualizzato un simbolo di sincronizzazione. Scegli questa opzione per sincronizzare il contenuto dei repository locali e remoti.

Opzione per la sincronizzazione di rami locali e remoti

Push e pull dei contenuti tra repository locali e remoti

Quando utilizzi Git per collaborare a un progetto condiviso, di norma inizi eseguendo il pull delle modifiche recenti apportate da altri membri del team dal repository remoto nel repository locale. Dopo aver eseguito il commit delle modifiche nel repository locale, ne esegui il push nel repository remoto in modo che possano essere accessibili dal resto del team. Queste azioni vengono eseguite dai comandi git pull e git push.

Nota

È necessario inserire le credenziali di accesso quando si inseriscono e si inseriscono modifiche da e verso la maggior parte degli archivi ospitati (come quelli attivi, ad esempio). GitHub

Pull changes from remote

Mediante l'utilizzo del comando git pull tramite l'interfaccia del pannello Git, è possibile aggiornare il repository locale con le ultime modifiche sottoposte a commit in un ramo nel repository remoto.

  1. Nel menu del pannello Git, scegli Checkout to (Checkout in).

  2. Nell'elenco dei rami, scegli il ramo locale in cui desideri eseguire il pull delle modifiche.

  3. Successivamente, vai al menu del pannello Git e scegli Pull from (Pull da).

  4. Seleziona un repository remoto e un ramo nel repository da cui eseguire il pull delle modifiche.

Dopo il pull, puoi accedere ai file recuperati dal repository remoto nella directory di lavoro del repository. Dopo aver modificato i file, puoi eseguire il push delle modifiche al ramo remoto.

Push changes to remote

Mediante l'utilizzo del comando git push tramite l'interfaccia del pannello Git, è possibile aggiornare il repository remoto con le ultime modifiche in un ramo specificato nel repository locale.

  1. Nel menu del pannello Git, scegli Checkout to (Checkout in).

  2. Nell'elenco dei rami, scegli il ramo locale da cui desideri eseguire il push delle modifiche.

  3. Successivamente, vai al menu del pannello Git e scegli Pull to (Pull a).

  4. Seleziona un repository remoto e un ramo nel repository cui eseguire il push delle modifiche.

Dopo il push, gli altri membri del team possono accedere alle modifiche eseguendo il pull nelle proprie copie locali del repository.

Accantonamento e recupero dei file

Con la funzione di accantonamento di Git, puoi cambiare rami senza prima dover eseguire il commit di file di gestione temporanea o modificati. La funzione di accantonamento acquisisce lo stato corrente della directory di lavoro e dell'area di gestione temporanea e lo salva per un utilizzo successivo. Questa funzione è utile ogni volta che stai ancora lavorando su contenuti incompleti e devi cambiare rami senza ritardo.

Accantonamento del lavoro
  1. Per accantonare lo stato corrente della directory di lavoro, vai al menu del pannello Git e scegli una delle seguenti opzioni:

    • Stash (Accantonamento): tutti i file modificati o di gestione temporanea nella directory di lavoro vengono accantonati. I file non tracciati non vengono aggiunti.

    • Stash (include Untracked) (Accantonamento - con file non tracciati): tutti i file nella directory di lavoro, inclusi quelli non ancora tracciati, vengono accantonati.

  2. Inserisci un messaggio facoltativo che ti aiuti a identificare l'accantonamento da recuperare in futuro.

Dopo l'accantonamento, l'interfaccia del pannello Git viene aggiornata in modo da visualizzare la directory di lavoro che è stata pulita.

Recupero di un accantonamento
  1. Per recuperare un accantonamento e applicarlo alla directory di lavoro, vai al menu del pannello Git e scegli una delle seguenti opzioni:

    • Apply Stash (Applica accantonamento): applica un accantonamento selezionato alla directory di lavoro e lo conserva per un uso successivo.

    • Pop Stash (Preleva accantonamento): applica un accantonamento selezionato alla directory di lavoro e lo elimina dalla pila.

    Nota

    Puoi anche scegliere di applicare o prelevare l'ultimo accantonamento aggiunto alla pila.

  2. Seleziona un accantonamento da applicare alla directory di lavoro.

L'interfaccia del pannello Git viene aggiornata in modo da visualizzare la directory di lavoro con lo l'accantonamento applicato.