

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á.

# Usar a EB CLI com o Git
<a name="eb3-cli-git"></a>

A EB CLI fornece uma integração com o Git para que você possa associar ramificações de código a ambientes específicos no Elastic Beanstalk a fim de organizar suas implantações.

**Para instalar o Git e inicializar o repositório Git**

1. Faça download da versão mais recente do Git acessando [http://git-scm.com](http://git-scm.com)

1. Inicialize seu repositório Git digitando o seguinte:

   ```
   ~/eb$ git init
   ```

   A EB CLI agora reconhece que seu aplicativo está configurado com o Git.

1. Se você ainda não executou **eb init**, faça isso agora: 

   ```
   ~/eb$ eb init
   ```

## Associar ambientes do Elastic Beanstalk a ramificações Git
<a name="eb3-cli-git.branches"></a>

Você pode associar um ambiente diferente com cada ramificação do seu código. Quando você faz o check-out de uma ramificação, as alterações são implantadas no ambiente associado. Por exemplo, você pode digitar o seguinte para associar seu ambiente de produção à sua ramificação mestre e um ambiente de desenvolvimento separado à sua ramificação de desenvolvimento:

```
~/eb$ git checkout mainline
~/eb$ eb use prod
~/eb$ git checkout develop
~/eb$ eb use dev
```

## Implantação de alterações
<a name="eb3-cli-git.deploy"></a>

Por padrão, a EB CLI implanta a última confirmação na ramificação atual, usando a mensagem e o ID de confirmação como a descrição e o rótulo da versão do aplicativo, respectivamente. Se você deseja implantar em seu ambiente sem confirmar, pode usar a opção `--staged` para implantar as alterações que foram adicionadas à área de preparação.

**Para implantar alterações sem confirmação**

1. Adicione arquivos novos e alterados à área de preparação:

   ```
   ~/eb$ git add .
   ```

1. Implante as alterações preparadas com **eb deploy**:

   ```
   ~/eb$ eb deploy --staged
   ```

Se você tiver configurado a CLI do EB para [implantar um artefato](eb-cli3-configuration.md#eb-cli3-artifact) e não confirmar o artefato no repositório Git, use a opção `--staged` para implantar a última compilação.

## Uso dos submódulos do Git
<a name="eb3-cli-git.submodules"></a>

Alguns projetos de código-fonte se beneficiam dos submódulos do Git: repositórios no repositório de nível superior. Quando você implementa seu código-fonte usando **eb create** ou **eb deploy**, o EB CLI pode incluir submódulos no arquivo zip da versão do aplicativo e fazer upload deles com o resto do código-fonte.

Você pode controlar a inclusão de submódulos usando a `include_git_submodules` opção na seção `global` do arquivo de configuração EB CLI, `.elasticbeanstalk/config.yml`, na pasta do projeto.

Para incluir submódulos, defina essa opção como `true`:

```
global:
  include_git_submodules: true
```

Quando a opção `include_git_submodules` está ausente ou é definida como `false`, a EB CLI não inclui submódulos no arquivo zip carregado.

Consulte [Ferramentas do Git – Submódulos](https://git-scm.com/book/en/v2/Git-Tools-Submodules) para obter mais detalhes sobre os submódulos do Git.

**Comportamento padrão do**  
Quando você executar **eb init** para configurar o seu projeto, a EB CLI adiciona a opção `include_git_submodules` e a define como `true`. Isso garante que todos os submódulos que você possui em seu projeto sejam incluídos em suas implantações.  
A EB CLI nem sempre ofereceu suporte à inclusão de submódulos. Para evitar uma alteração acidental e indesejável em projetos que já existiam antes de adicionarmos o suporte ao submódulo, a EB CLI não inclui submódulos quando a opção `include_git_submodules` estiver ausente. Se você tiver um desses projetos existentes e deseja incluir submódulos em suas implantações, adicione a opção e defina-a como `true` conforme explicado nesta seção.

**CodeCommit comportamento**  
A integração do Elastic Beanstalk com CodeCommit não oferece suporte a submódulos no momento. Se você habilitou sua integração com o ambiente CodeCommit, os submódulos não estão incluídos em suas implantações.

## Para atribuir tags do Git à versão do aplicativo
<a name="eb3-cli-git.tags"></a>

Você pode usar uma tag do Git como rótulo de versão para identificar qual versão do aplicativo está em execução em seu ambiente. Por exemplo, digite o seguinte:

```
~/eb$ git tag -a v1.0 -m "My version 1.0"
```