Esercizio - Eseguire una richiesta pull

Completato

Nella sandbox verificare di trovarsi ancora nella directory Alice, che è la cartella principale per il clone di Alice del repository Cats. È possibile usare il comando pwd per verificare il percorso della cartella.

pwd

Al momento non vi sono elementi di cui Alice può eseguire il pull perché non sono state apportate modifiche dopo che Alice ha clonato il repository. È possibile verificare questa situazione usando il comando seguente, che mostra l'output Already up-to-date:

git pull

Apportare una modifica e inviare una richiesta pull

Alice inizia a lavorare al sito Web. La prima decisione di Alice è quella di modificare il colore di sfondo del sito. Alice fa alcune prove in locale e finisce per scegliere la propria tonalità di azzurro preferita.

  1. Configurare un'identità per Alice eseguendo i comandi seguenti:

    git config user.name "Alice"
    git config user.email "alice@contoso.com"
    
    

    Poiché queste impostazioni config sono archiviate nel repository nel file .git/config, non è necessario immetterle di nuovo. Ogni volta che si passa alla directory Alice, si assume realmente l'identità di Alice.

  2. Aprire il file site.css nella directory Alice/CSS:

    code CSS/site.css
    
    
  3. Per modificare il colore di sfondo della pagina in azzurro, sostituire la seconda riga nel file con l'istruzione seguente:

    body { font-family: serif; background-color: #F0FFF8; }
    

    Salvare quindi il file e chiudere l'editor.

  4. Eseguire ora il commit della modifica:

    git commit -a -m "Change background color to light blue"
    
    
  5. Eseguire quindi una richiesta pull di nuovo nel repository originale:

    git request-pull -p origin/main .
    
    
  6. Controllare l'output di . L'output dovrebbe essere simile all'esempio seguente:

    The following changes since commit 2bf69ab0226d8d35efd1e92c83cd92c5cc09a7ae:
    
      Add simple HTML and stylesheet (2019-11-21 01:57:24 +0000)
    
    are available in the git repository at:
    
      .
    
    for you to fetch changes up to 95bbc3b6929953e9b04353920e97230b463022f0:
    
      Change background color to light blue (2019-11-21 02:33:48 +0000)
    
    ----------------------------------------------------------------
    Alice (1):
          Change background color to light blue
    
     CSS/site.css | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/CSS/site.css b/CSS/site.css
    index caefc86..86d41e8 100644
    --- a/CSS/site.css
    +++ b/CSS/site.css
    @@ -1,2 +1,2 @@
     h1, h2, h3, h4, h5, h6 { font-family: sans-serif; }
    -body { font-family: serif; }
    \ No newline at end of file
    +body { font-family: serif; background-color: #F0FFF8; }
    \ No newline at end of file
    

Creare un repository remoto e completare la richiesta pull

Poiché la directory del progetto e la directory Alice si trovano nello stesso computer, è possibile eseguire il pull direttamente dalla directory Alice. In uno scenario reale la directory Alice si troverebbe nel computer di Alice. Per risolvere questa situazione, è possibile configurare un repository remoto usando il comando git remote. Usare quindi il repository remoto per le richieste pull e push. Per questo esercizio non è pratico configurare due computer per eseguire questi passaggi, ma si configura un repository remoto che usa un percorso locale. In uno scenario reale si userebbe invece un URL o un percorso di rete.

  1. Tornare alla directory del progetto e usare il comando git remote per creare un repository remoto denominato remote-alice che ha come destinazione la directory del progetto di Alice:

    cd ../Cats
    git remote add remote-alice ../Alice
    
    
  2. Eseguire ora un pull:

    git pull remote-alice main
    
    

    Si noti che è necessario specificare un ramo, in questo caso main, nel comando pull. Nella lezione successiva verrà descritto come configurare un URL upstream per il ramo.

  3. Controllare l'output di . Verrà visualizzato un output simile all'esempio seguente, che mostra che la richiesta pull è stata completata correttamente:

    remote: Counting objects: 4, done.
    remote: Compressing objects: 100% (3/3), done.
    remote: Total 4 (delta 1), reused 0 (delta 0)
    Unpacking objects: 100% (4/4), done.
    From ../Alice
     * branch            main     -> FETCH_HEAD
     * [new branch]      main     -> remote-alice/main
    Updating 2bf69ab..95bbc3b
    Fast-forward
     CSS/site.css | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    

Il divertimento è appena iniziato. Nella lezione successiva si apprenderà come configurare e usare un repository condiviso, che rende più semplice e comoda la collaborazione.