

 AWS Cloud9 não está mais disponível para novos clientes. Os clientes atuais do AWS Cloud9 podem continuar usando o serviço normalmente. [Saiba mais](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Gerenciar o controle de origem com o painel do Git
<a name="using-gitpanel"></a>

A extensão do painel Git AWS Cloud9 fornece acesso conveniente à interface do usuário aos comandos principais e avançados do Git.

Esta seção demonstra como acessar os principais recursos do Git para gerenciar o controle do código-fonte. Os procedimentos se concentram em usar o menu **Git panel** (Painel do Git) para executar comandos do Git em seu repositório e conteúdo.

![\[Opções de interface para inicializar e clonar um repositório do Git\]](http://docs.aws.amazon.com/pt_br/cloud9/latest/user-guide/images/git-panel-menu.png)


 Você também pode acessar qualquer comando Git suportado começando a inserir o nome na caixa de pesquisa no painel do Git:

![\[Opções de interface para inicializar e clonar um repositório do Git\]](http://docs.aws.amazon.com/pt_br/cloud9/latest/user-guide/images/git-commands-type.png)


Exibe uma janela mostrando os comandos do Git que são executados quando você interage com a interface do painel do Git. Para ver a atividade da linha de comando, acesse o menu **Git panel** (Painel do Git) e escolha **Show Git Output** (Mostrar saída do Git).

![\[Exibir o resultado do comando Git\]](http://docs.aws.amazon.com/pt_br/cloud9/latest/user-guide/images/git-output.png)


## Inicialize ou clone um repositório Git
<a name="init-clone-repo"></a>

Um repositório Git (“repo”) contém o histórico completo de um projeto, desde o início. Um repositório consiste em todos os snapshots do conteúdo do projeto que foram capturados cada vez que você confirmou arquivos preparados nesse repositório.

O painel do Git suporta ambas as formas de obter um repositório Git:
+ Inicialize um diretório existente como um repositório Git.
+ Clone um repositório existente e copie-o no diretório local.

![\[Opções de interface para inicializar e clonar um repositório do Git\]](http://docs.aws.amazon.com/pt_br/cloud9/latest/user-guide/images/init-clone.png)


**nota**  
As opções de interface para inicializar ou clonar um repositório estarão disponíveis somente se você ainda não tiver um repositório Git adicionado à pasta do espaço de trabalho em seu ambiente. Se você já tiver um diretório de trabalho para um repositório, a janela do painel do Git exibirá o status do diretório de trabalho e da área de preparação. O menu **Git panel** (Painel do Git) também está disponível para fornecer acesso aos comandos do Git que você pode executar no repositório.<a name="initialize-repo-proc"></a>

## Para inicializar ou clonar um repositório
<a name="initialize-repo-proc"></a>

1. Se o painel do Git ainda não estiver disponível, acesse-o escolhendo **Window** (Janela), **Source Control** (Controle de origem) e, em seguida, escolha o ícone do Git.
**nota**  
Você também pode abrir o painel do Git usando o atalho de teclado **Ctrl\$1Shift\$1G**.

1. Escolha se deseja inicializar um novo repositório ou clonar um já existente.

------
#### [ Initialize a repository ]
   + No painel do Git, escolha **Initialize Repository** (Inicializar repositório).
   + Em seguida, escolha uma pasta do espaço de trabalho onde o repositório Git será inicializado. Você pode inserir um caminho para a pasta, escolher um caminho ou escolher uma pasta em uma caixa de diálogo.
   + Se você estiver usando uma caixa de diálogo, selecione a pasta de destino e escolha **Initialize Repository** (Inicializar repositório).

![\[Selecionar uma pasta do espaço de trabalho para um repositório do Git\]](http://docs.aws.amazon.com/pt_br/cloud9/latest/user-guide/images/init-dialog-box.png)


   Depois de inicializar o repositório do Git na pasta selecionada, o painel do Git exibe todos os arquivos que já estiverem nessa pasta como não monitorados e prontos para serem adicionados à área de preparação do Git.

![\[Selecionar uma pasta do espaço de trabalho para um repositório do Git\]](http://docs.aws.amazon.com/pt_br/cloud9/latest/user-guide/images/untracked-changes.png)


------
#### [ Clone a repository ]
   + Na janela do painel do Git, escolha **Clone Repository** (Clonar repositório).
   + **Em seguida, insira uma URL para o repositório remoto que você deseja clonar (por exemplo`https://github.com/my-own-repo/my-repo-project-name.git`, para clonar um repositório hospedado GitHub) e pressione Return.**
   + Na caixa de diálogo exibida, selecione uma pasta do espaço de trabalho para o repositório clonado e escolha **Select Repository Location** (Selecionar local do repositório).

**nota**  
Se você estiver acessando um repositório hospedado em um site externo (GitHubpor exemplo), também precisará inserir as credenciais de login do site para concluir o processo.

   Depois de clonar o repositório remoto na pasta selecionada, você pode executar o comando `git pull` para sincronizar o repositório local com as alterações mais recentes no repositório remoto. Para obter mais informações, consulte [Como trabalhar com repositórios remotos](#working-with-remote-repos).

------

## Preparação e confirmação de arquivos
<a name="staging-and-commit"></a>

Depois de obter um repositório Git, você pode começar a preenchê-lo com conteúdo usando um processo de duas etapas:

1. Adicione conteúdo não monitorado ou modificado recentemente à área de preparação.

1. Confirme os arquivos na área de preparação para o diretório de trabalho.

**Importante**  
Talvez você não queira confirmar todos os arquivos em seu diretório de trabalho para o repositório. Por exemplo, é improvável que você queira adicionar arquivos gerados durante o tempo de execução ao repositório do seu projeto. Com o painel do Git, você pode marcar arquivos a serem ignorados, adicionando-os a uma lista em um arquivo `.gitignore`.  
Para atualizar a lista no `.gitignore`, clique com o botão direito do mouse em um arquivo que não tenha sido adicionado à área de preparação e selecione **Add File to .gitignore** (Adicionar arquivo ao .gitignore). O IDE abre o arquivo `.gitignore` e o nome do arquivo selecionado é adicionado à lista de arquivos ignorados.  
Para obter informações sobre como usar a correspondência de padrões no `.gitignore` para excluir tipos de arquivos, consulte a [referência relevante no site git-scm.com](https://git-scm.com/docs/gitignore).

------
#### [ Stage files ]

Os arquivos não monitorados (rotulados como “U”) e os arquivos modificados (rotulados como “M”), que não foram adicionados à área de preparação, estarão listados em **Changes** (Alterações) no painel do Git.

![\[Conteúdo não monitorado na pasta do espaço de trabalho do repositório do Git\]](http://docs.aws.amazon.com/pt_br/cloud9/latest/user-guide/images/git-unstaged.png)


Usando a interface do painel do Git, você pode adicionar arquivos específicos ou todos os arquivos não monitorados e modificados à área de preparação:
+ Arquivos específicos: pause no arquivo e, em seguida, escolha **\$1**para adicioná-lo à área de preparação. Como alternativa, clique com o botão direito no arquivo e escolha **Unstage Change** (Cancelar preparação de alterações).
+ Todos os arquivos: Acesse o menu **Git panel** (Painel do Git) e selecione **Stage All Changes** (Preparar todas as alterações).

Os arquivos adicionados ao índice do repositório são listados em **Staged Changes** (Alterações preparadas). Arquivos não monitorados anteriormente são rotulados como “A” para indicar que eles foram preparados.

![\[Conteúdo preparado na pasta do espaço de trabalho do repositório git\]](http://docs.aws.amazon.com/pt_br/cloud9/latest/user-guide/images/staged-changes.png)


**nota**  
Você também pode remover alterações específicas não preparadas ou todas as alterações. Para um único arquivo, pause o arquivo e, em seguida, escolha **-**. Como alternativa, clique com o botão direito e escolha **Unstage Change** (Cancelar preparação de alterações). Para desfazer todas as alterações, acesse o menu **Git panel** (Painel do Git) e escolha **Unstage All Changes** (Desfazer todas as alterações).

------
#### [ Commit files ]

Você pode usar o camndo `commit` do Git para capturar arquivos preparados, como um snapshot permanente no repositório. Usando a interface do painel do Git, você pode escolher quais arquivos serão confirmados:
+ Confirme os arquivos na área de preparação: acesse o **Painel do Git** e selecione **Commit** (Confirmar) ou **Commit Staged** (Confirmar arquivos preparados).
+ Confirmar todos os arquivos no diretório de trabalho: acesse o **Painel do Git** e selecione **Commit All** (Confirmar tudo). (Esta opção usa o `git add` para adicionar arquivos à área de preparação antes de chamar o `git commit`). 

**nota**  
Você também pode usar as opções `amend` e `signed-off` ao confirmar os arquivos com o painel do Git. A opção `amend` modifica a mensagem de confirmação da confirmação mais recente. A opção `sign-off` pode identificar quem executou a confirmação no log do Git.  
Você também pode reverter uma confirmação no **painel do Git**, escolhendo **Undo Last Commit** (Desfazer a última confirmação).

------

## Exibir diferentes versões do arquivo
<a name="comparing-changes"></a>

Você pode comparar as versões de um arquivo que foi modificado após ele ter sido preparado ou confirmado. 
+ Arquivos listados em **Changes** (Alterações): Escolha “M” para exibir as diferenças entre a versão no diretório de trabalho e a versão que foi preparada recentemente ou confirmada no repositório. 
+ Arquivos listados em **Staged Changes** (Alterações preparadas): Escolha “M” para exibir as diferenças entre a versão na área de preparação e a versão que foi confirmada recentemente no repositório.

Depois de escolher “M”, uma janela do IDE exibe as diferenças entre as duas versões do arquivo. Um lado mostra a versão que é monitorada como atual no repositório. O outro lado mostra a versão modificada que ainda não foi confirmada.

![\[Diferenciar o conteúdo versionado no repositório git\]](http://docs.aws.amazon.com/pt_br/cloud9/latest/user-guide/images/git-diff.png)


## Como trabalhar com ramificações
<a name="working-with-branches"></a>

O Git facilita muito o gerenciamento do fluxo de trabalho, permitindo que você trabalhe em novos recursos nas ramificações que são independentes da ramificação principal do repositório. Você pode alternar facilmente entre várias ramificações e, ao mesmo tempo, garantir que sempre tenha o ready-to-build código-fonte na ramificação principal.<a name="create-branch-proc"></a>

## Criar uma ramificação
<a name="create-branch-proc"></a>

Criar uma ramificação envolve a nomeação da ramificação e a seleção do ponto de partida dela. 

1. No menu **Git panel** (Painel do Git), selecione **Checkout to** (Finalizar a compra). Selecione o nome da ramificação atual na parte inferior do painel do Git.  
![\[Selecionar a ramificação atual do Git\]](http://docs.aws.amazon.com/pt_br/cloud9/latest/user-guide/images/git-current-branch.png)

1. Escolha uma opção para criar uma nova ramificação:
   + **Criar nova ramificação**: a nova ramificação começa na última confirmação da ramificação atual.
   + **Criar nova ramificação a partir de**: a nova ramificação começa na última confirmação da ramificação que você selecionar em uma tela subsequente.

1. Insira o nome da nova ramificação.

1. Se você estiver especificando uma ramificação específica como o ponto de partida para a ramificação, selecione uma na lista.

Depois de mudar para a nova ramificação, você pode verificar o nome da ramificação atual visualizando a parte inferior do painel do Git.

**nota**  
Se você estiver trabalhando com um repositório remoto, [publique a nova ramificação](#publish-branch-proc) no repositório remoto upstream para permitir que outras pessoas acessem o conteúdo.<a name="switch-branches-proc"></a>

## Alternar ramificação
<a name="switch-branches-proc"></a>

Uma das principais vantagens de gerenciar o controle de código-fonte com o Git é que você pode saltar entre diferentes projetos simplesmente alternando as ramificações.
**Importante**  
Você não poderá alternar ramificações se tiver arquivos na ramificação atual que não foram confirmadas no repositório. Você deve primeiro limpar seu diretório de trabalho, [confirmando](#staging-and-commit) ou [criando um stash](#stashing-work) do seu trabalho. 

1. Selecione o nome da ramificação atual na parte inferior do painel do Git. Como alternativa, vá para o **Git panel** (Painel do Git) e selecione **Checkout to** (Finalizar a compra para).

1. Escolha uma ramificação na lista exibida.

Depois de alternar, o diretório de trabalho do repositório é atualizado com versões de arquivo que foram confirmadas mais recentemente na ramificação selecionada. <a name="merge-branch-proc"></a>

## Mesclar ramificações
<a name="merge-branch-proc"></a>

Quando terminar de trabalhar em um recurso em uma ramificação discreta, geralmente você deverá integrar as alterações no projeto principal. Com o Git, este tipo de integração é facilitada pela mesclagem de uma ramificação (uma ramificação de recurso, por exemplo) com outra (geralmente a ramificação principal ou padrão do repositório). 

1. Para selecionar uma ramificação na qual você mesclará outra ramificação, vá para o menu **Git panel** (Painel do Git) e escolha **Checkout to** (Finalizar a compra).

   Como alternativa, escolha o nome da ramificação atual na parte inferior do painel do Git.

1. Na lista exibida, escolha uma ramificação para a qual alternar.

1. Na caixa **Search** (Pesquisar) do painel do Git, comece a inserir a palavra “merge”.

   Quando **Git: Merge Branch** é exibido na lista de **Comandos**, escolha-o.  
![\[Localizar o comando de mesclagem\]](http://docs.aws.amazon.com/pt_br/cloud9/latest/user-guide/images/git-merge.png)

1. Na lista exibida, escolha uma ramificação para mesclar com a ramificação de destino.

   Se a mesclagem for concluída sem conflitos, a interface do painel do Git será atualizada para mostrar a ramificação de destino que contém as alterações mescladas. 

Ao fazer a [mesclagem de ramificações](#working-with-branches), você pode encontrar conflitos de mesclagem que resultam de alterações incompatíveis feitas no mesmo conteúdo. Se isso acontecer, você será avisado de que precisa resolver os conflitos antes de confirmar a mesclagem. 

Você pode usar a janela do editor de código do IDE para identificar o conteúdo conflitante nas duas ramificações e, em seguida, fazer alterações para resolver as diferenças.

![\[Janela do IDE para resolver conflitos de mesclagem\]](http://docs.aws.amazon.com/pt_br/cloud9/latest/user-guide/images/git-merge-conflicts.png)


## Como trabalhar com repositórios remotos
<a name="working-with-remote-repos"></a>

Os repositórios remotos hospedados na Internet ou em uma rede facilitam a colaboração, permitindo que os membros da equipe compartilhem as alterações que comprometeram com suas responsabilidades locais. Ao usar comandos do Git que carregam e baixam os dados, você garante que o conteúdo do repositório “downstream” (local) seja sincronizado com os do repositório “upstream” (remoto). <a name="publish-branch-proc"></a>

## Publicar uma ramificação em um repositório remoto
<a name="publish-branch-proc"></a>

Depois de criar uma ramificação para um repositório local, ela será privada para você e não estará disponível para seus colaboradores até que você a envie “upstream” para o repositório remoto.

1. Para publicar a ramificação atual, vá até o menu **Git panel** (Painel do Git) e escolha **Publish Branch** (Publicar ramificação). Como alternativa, clique no símbolo da nuvem que está ao lado do nome da ramificação na parte inferior do painel do Git.  
![\[Opção para publicar uma ramificação em um repositório remoto\]](http://docs.aws.amazon.com/pt_br/cloud9/latest/user-guide/images/publish-branch-image.png)

1. Se necessário, insira suas credenciais de login para acessar o repositório remoto.

Se a ramificação for publicada com êxito no repositório remoto, um símbolo de sincronização será exibido ao lado do nome da ramificação na parte inferior do painel do Git. Escolha-o para sincronizar o conteúdo dos repositórios locais e remotos.

![\[Opção para sincronizar ramificações locais e remotas\]](http://docs.aws.amazon.com/pt_br/cloud9/latest/user-guide/images/sync-branch-local-remote.png)


### Enviar e extrair conteúdo entre repositórios locais e remotos
<a name="pushing-and-pulling"></a>

Ao usar o Git para colaborar em um projeto compartilhado, você geralmente começa extraindo as alterações recentes feitas por outros membros da equipe do repositório remoto para o repositório local. E depois de confirmar as alterações no repositório local, você as envia ao repositório remoto para que elas possam ser acessadas pelo resto da equipe. Essas ações são executadas pelos comandos `git pull` e `git push`. 

**nota**  
Você precisa inserir suas credenciais de login ao enviar e receber alterações na maioria dos repositórios hospedados (como os existentes, por exemplo). GitHub

------
#### [ Pull changes from remote ]

Usando o comando `git pull` na interface do painel do Git, você pode atualizar o repositório remoto com as confirmações mais recentes em uma ramificação especificada em seu repositório local. 

1. No menu **Git panel** (Painel do Git), selecione **Checkout to** (Finalizar a compra).

1. Na lista de ramificações, escolha a ramificação local para onde deseja levar as alterações.

1. Em seguida, acesse o menu **Git panel** (Painel do Git) e escolha **Pull from** (Extrair de).

1. Escolha um repositório remoto e, em seguida, uma ramificação nesse repositório, do qual extrair as alterações.

Depois de fazer um pull, você pode acessar os arquivos recuperados do repositório remoto no diretório de trabalho do repositório. Depois de modificar os arquivos, você pode enviar as alterações para a ramificação remota. 

------
#### [ Push changes to remote ]

Usando o comando `git push` na interface do painel do Git, você pode atualizar o repositório remoto com as alterações mais recentes em uma ramificação especificada em seu repositório local. 

1. No menu **Git panel** (Painel do Git), selecione **Checkout to** (Finalizar a compra).

1. Na lista de ramificações, escolha a ramificação local da qual deseja extrair as alterações.

1. Em seguida, acesse o menu **Git panel** (Painel do Git) e escolha **Push to** (Enviar para).

1. Escolha um repositório remoto e, em seguida, uma ramificação nesse repositório, do qual enviar as alterações.

Depois de fazer um push, outros membros da equipe podem acessar suas alterações levando-as para suas próprias cópias locais do repositório. 

------

## Armazenar e recuperar arquivos
<a name="stashing-work"></a>

Com o recurso de stash do Git, você pode alternar ramificações sem antes ter que confirmar os arquivos preparados ou modificados. O recurso de stash captura o status atual do diretório de trabalho e da área de preparação e o salva para uso posterior. Esse recurso é útil sempre que você ainda estiver trabalhando em conteúdo inacabado e precisar alternar as ramificações sem demora.<a name="stash-work-proc"></a>

**Trabalho do Stash**

1. Para ocultar o estado atual do diretório de trabalho, acesse o menu **Git panel** (Painel do Git) e escolha uma das seguintes opções:
   + **Stash**: Todos os arquivos modificados ou preparados no diretório de trabalho são adicionados ao stash. Arquivos não monitorados não são adicionados.
   + **Stash (incluir não monitoradas)**: todos os arquivos no diretório de trabalho, incluindo aqueles ainda não monitorados, serão adicionados ao stash.

1. Insira uma mensagem opcional que ajude você a identificar o stash para recuperação futura. 

Após o stashing, a interface do painel do Git é atualizada para exibir o diretório de trabalho que foi limpo.<a name="retrieve-work-proc"></a>

**Recuperar um stash**

1. Para recuperar um stash e aplicá-lo ao seu diretório de trabalho, acesse o menu **Git panel** (Painel do Git) e escolha uma das seguintes opções:
   + **Aplicar Stash**: aplique um stash selecionado ao seu diretório de trabalho e mantenha o stash para uso posterior.
   + **Pop Stash** (Excluir Stash): aplique um stash selecionado ao seu diretório de trabalho e exclua o stash da pilha de stash. 
**nota**  
Você também pode optar por aplicar ou executar o último stash que foi adicionado à pilha de stash.

1. Selecione um stash a ser aplicado ao diretório de trabalho.

A interface do painel do Git é atualizada para exibir seu diretório de trabalho com o stash aplicado.