Exercício – Fazer uma solicitação de pull

Concluído

Na área restrita, verifique se você ainda está no diretório Alice, que é a pasta principal para o clone de Alice do repositório Cats. Use o comando pwd para verificar a localização da pasta.

pwd

No momento, não há nada para Alice efetuar pull porque você não fez alterações desde que ela clonou o repositório. Comprove isso usando o seguinte comando, que mostra a saída Already up-to-date:

git pull

Fazer uma alteração e enviar uma solicitação de pull

Alice começa a trabalhar no site. A primeira decisão dela é alterar a cor da tela de fundo do site. Ela faz experimentos localmente e acaba escolhendo o sombreamento favorito dela, azul-claro.

  1. Configure uma identidade para Alice executando os seguintes comandos:

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

    Estas configurações config são armazenadas no repositório no arquivo .git/config e, portanto, você não precisará inseri-las novamente. Toda vez que você alterar para o diretório Alice, assumirá efetivamente a identidade dela.

  2. Abra o arquivo site.css no diretório Alice/CSS:

    code CSS/site.css
    
    
  3. Para alterar a cor da tela de fundo da página para azul-claro, substitua a segunda linha do arquivo pela seguinte instrução:

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

    Depois, salve o arquivo e feche o editor.

  4. Agora, faça commit da alteração:

    git commit -a -m "Change background color to light blue"
    
    
  5. Depois, faça uma solicitação de pull novamente para o repositório original:

    git request-pull -p origin/main .
    
    
  6. Verifique a saída. Você deverá ver uma saída semelhante ao seguinte exemplo:

    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
    

Criar um remoto e concluir a solicitação de pull

Como o diretório do projeto e o diretório Alice estão no mesmo computador, você pode efetuar pull diretamente no diretório Alice. Na vida real, o diretório Alice estará no computador de Alice. Resolva esta situação configurando um repositório remoto com o comando git remote. Em seguida, use esse repositório remoto para solicitações de pull e push. Para este exercício, não é prático configurar dois computadores para executar essas etapas. Portanto, configuraremos um repositório remoto que usa um nome de caminho local. Na realidade, você usará um caminho de rede ou uma URL em vez disso.

  1. Altere novamente para o diretório do projeto e use um comando git remote para criar um repositório remoto chamado remote-alice direcionado ao diretório do projeto de Alice:

    cd ../Cats
    git remote add remote-alice ../Alice
    
    
  2. Agora, efetue um pull:

    git pull remote-alice main
    
    

    Observe que você precisa especificar um branch, main, no comando de pull. Você aprenderá na próxima lição como configurar uma URL de upstream para o branch.

  3. Verifique a saída. Você verá uma saída como este exemplo, que mostra que concluiu com êxito a solicitação de pull:

    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(-)
    

A diversão está apenas começando! Na próxima lição, você aprenderá a configurar e usar um repositório compartilhado, o que simplifica a colaboração, tornando-a mais conveniente.