

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Uso de la CLI de EB con Git
<a name="eb3-cli-git"></a>

La CLI de EB proporciona una integración de Git para que pueda asociar ramificaciones del código con entornos específicos en Elastic Beanstalk para organizar las implementaciones.

**Para instalar Git e inicializar el repositorio Git**

1. Descargue la versión más reciente de Git en [http://git-scm.com](http://git-scm.com)

1. Inicialice el repositorio Git escribiendo lo siguiente:

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

   La CLI de EB reconocerá ahora que su aplicación está configurada con Git.

1. Si aún no ha ejecutado **eb init**, hágalo ahora: 

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

## Asociación de entornos Elastic Beanstalk con ramas de Git
<a name="eb3-cli-git.branches"></a>

Puede asociar un entorno diferente a cada ramificación de su código. Al desproteger una ramificación, los cambios se implementan en el entorno asociado. Por ejemplo, puede escribir lo siguiente para asociar su entorno de producción con su ramificación principal y un entorno de desarrollo independiente con su ramificación de desarrollo:

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

## Implementación de cambios
<a name="eb3-cli-git.deploy"></a>

De forma predeterminada, la CLI de EB implementa la última validación de la ramificación actual, usando el ID y el mensaje de validación como la etiqueta y la descripción de la versión de compilación, respectivamente. Si desea implementar los cambios en su entorno sin validación, puede utilizar la opción `--staged` para implementar los cambios que se han añadido al área de ensayo.

**Para implementar los cambios sin validación**

1. Añada archivos nuevos y modificados al área de ensayo:

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

1. Implemente los cambios almacenados con **eb deploy**:

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

Si ha configurado la CLI de EB para [implementar un artefacto](eb-cli3-configuration.md#eb-cli3-artifact) y no valida el artefacto en su repositorio Git, use la opción `--staged` para implementar la última compilación.

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

Algunos proyectos de código se benefician de tener submódulos de Git, es decir, repositorios en el repositorio de nivel superior. Al implementar el código mediante **eb create** o **eb deploy**, la CLI de EB puede incluir submódulos en el archivo zip de la versión de la aplicación y cargarlos con el resto del código.

Puede controlar la inclusión de submódulos mediante la `include_git_submodules` opción en la sección `global` de la CLI del archivo de configuración de la CLI de EB, `.elasticbeanstalk/config.yml` en la carpeta de su proyecto.

Para incluir submódulos, configure esta opción en `true`:

```
global:
  include_git_submodules: true
```

Si falta la opción `include_git_submodules` o se ha configurado en `false`, la CLI de EB no incluye submódulos en el archivo zip cargado.

Consulte [Herramientas de Git: submódulos](https://git-scm.com/book/en/v2/Git-Tools-Submodules) para obtener más información acerca de los submódulos de Git.

**Comportamiento predeterminado**  
Al ejecutar **eb init** para configurar el proyecto, la CLI de EB agrega la opción `include_git_submodules` y la configura en `true`. Esto garantiza que los submódulos que tenga en el proyecto se incluyen en las implementaciones.  
La CLI de EB CLI no siempre admite la inclusión de submódulos. Para evitar un cambio accidental e indeseable en los proyectos que hubieran existido antes de que agregáramos la compatibilidad con submódulos, la CLI de EB no incluye submódulos si falta la opción `include_git_submodules`. Si tiene uno de estos proyectos existentes y desea incluir submódulos en las implementaciones, agregue la opción y configúrela en `true`, tal como se explica en esta sección.

**CodeCommit comportamiento**  
La integración de Elastic Beanstalk con CodeCommit no admite submódulos en este momento. Si ha habilitado la integración con su entorno CodeCommit, los submódulos no se incluyen en sus implementaciones.

## Asignación de etiquetas de Git a la versión de la aplicación
<a name="eb3-cli-git.tags"></a>

Puede utilizar una etiqueta de Git como su etiqueta de versión para identificar qué versión de la aplicación se ejecuta en su entorno. Por ejemplo, escriba lo siguiente:

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