> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/on-premises/es/configuracion/overleaf-toolkit/git-integration.md).

# integración con Git

La integración de Git solo está disponible en [ayaka-notes/overleaf](https://github.com/ayaka-notes/overleaf) actualmente.

{% hint style="info" %}
Esta función fue desarrollada inicialmente por [ayaka-notes/overleaf-pro](https://github.com/ayaka-notes/overleaf-pro).
{% endhint %}

{% stepper %}
{% step %}

### Habilitar git-bridge (solo para usuarios de Toolkit)

Si estás usando Toolkit, habilita el `git-bridge` estableciendo lo siguiente en tu `config/overleaf.rc`:

{% code title="config/overleaf.rc" %}

```
GIT_BRIDGE_ENABLED=true
```

{% endcode %}
{% endstep %}

{% step %}

### Agregar el contenedor git-bridge (solo para usuarios de Docker-compose)

Para los usuarios que ejecutan una `docker-compose.yml`, agrega la siguiente configuración de contenedor a tu archivo compose:

{% code title="docker-compose.yml (servicio git-bridge)" overflow="wrap" %}

```yaml
git-bridge:
    restart: always
    image: quay.io/sharelatex/git-bridge:4.0.0 # la etiqueta debe coincidir con la etiqueta del contenedor `sharelatex`
    volúmenes:
        - ~/git_bridge_data:/data/git-bridge
    container_name: git-bridge
    expose:
        - "8000"
    entorno:
        GIT_BRIDGE_API_BASE_URL: "http://sharelatex:3000/api/v0/" 
        # "http://sharelatex/api/v0/" para la versión 4.1.6 y anteriores
        GIT_BRIDGE_OAUTH2_SERVER: "http://sharelatex"
        GIT_BRIDGE_POSTBACK_BASE_URL: "http://git-bridge:8000"
        GIT_BRIDGE_ROOT_DIR: "/data/git-bridge"
    user: root
    command: ["/server-pro-start.sh"]
```

{% endcode %}
{% endstep %}

{% step %}

### Actualiza la configuración del contenedor sharelatex

También necesitarás vincular el `git-bridge` contenedor en el `sharelatex` contenedor y definir las siguientes variables de entorno; por favor presta atención a `V1_HISTORY_URL`:

<pre class="language-yaml" data-title="docker-compose.yml (servicio sharelatex)"><code class="lang-yaml">sharelatex:
    links:
        - git-bridge
    entorno:
         GIT_BRIDGE_ENABLED: true
         GIT_BRIDGE_HOST: "git-bridge"
         GIT_BRIDGE_PORT: "8000"
<strong>         # Ahora usamos v1; si antes configuraste V1_HISTORY_URL, actualízalo ahora
</strong><strong>         V1_HISTORY_URL: "http://sharelatex:3054"
</strong></code></pre>

{% endstep %}

{% step %}

### Autenticación

Al autenticarse en un cliente de git, los usuarios necesitan un token de acceso personal. Los usuarios pueden administrar los tokens de acceso personal a través de la interfaz de la aplicación (consulta la documentación):

<figure><img src="/files/8b109f75cce667ae20b09c6bd20c08217735d800" alt=""><figcaption><p>Token de acceso personal para la integración de Git</p></figcaption></figure>
{% endstep %}

{% step %}

### Supervisión y consideraciones de recursos

Te recomendamos supervisar los recursos de tu host después de habilitar la `git-bridge`. El aumento de carga dependerá de:

* la cantidad de usuarios que acceden a la función
* los tipos de proyectos alojados en tu instancia (los proyectos más grandes suelen requerir más recursos)
  {% endstep %}
  {% endstepper %}

### Intercambio de proyectos a S3

La integración de Git almacena en el disco un repositorio git completo para cada proyecto que un usuario clona. Si tienes espacio limitado en disco, puedes activar un trabajo de intercambio que moverá a AWS S3 los repositorios menos usados. Si se necesita de nuevo un repositorio intercambiado, se vuelve a mover al disco. Las siguientes variables de entorno controlan el trabajo de intercambio:

| Nombre                                | Descripción                                                                                                                                                                                         |
| ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `GIT_BRIDGE_SWAPSTORE_TYPE`           | Establécelo en "s3" para activar el trabajo de intercambio.                                                                                                                                         |
| `GIT_BRIDGE_SWAPSTORE_AWS_ACCESS_KEY` | Tu clave de acceso de AWS                                                                                                                                                                           |
| `GIT_BRIDGE_SWAPSTORE_AWS_SECRET`     | Tu secreto de AWS                                                                                                                                                                                   |
| `GIT_BRIDGE_SWAPSTORE_S3_BUCKET_NAME` | Este bucket contendrá los repositorios git comprimidos                                                                                                                                              |
| `GIT_BRIDGE_SWAPSTORE_AWS_REGION`     | La región del bucket                                                                                                                                                                                |
| `GIT_BRIDGE_SWAPJOB_MIN_PROJECTS`     | <p>Cuántos proyectos mantener como mínimo en disco.<br><br><strong>- Valor predeterminado:</strong> 50</p>                                                                                          |
| `GIT_BRIDGE_SWAPJOB_LOW_GIB`          | <p>Umbral bajo para el intercambio. El trabajo de intercambio moverá proyectos hasta que el uso del disco esté por debajo de este valor.<br><br><strong>- Valor predeterminado:</strong> 128 GB</p> |
| `GIT_BRIDGE_SWAPJOB_HIGH_GIB`         | <p>Umbral alto para el intercambio. El trabajo de intercambio comenzará a intercambiar cuando el uso del disco alcance este valor.<br><br><strong>- Valor predeterminado:</strong> 256 GB</p>       |
| `GIT_BRIDGE_SWAPJOB_INTERVAL_MILLIS`  | <p>El tiempo entre comprobar el uso del disco y ejecutar el trabajo de intercambio.<br><br><strong>- Valor predeterminado:</strong> 3600000 ms = 1 hora</p>                                         |

### Preguntas y respuestas

<details>

<summary>Si comparto mi proyecto con otra persona, ¿cómo funciona el modelo de permisos de Git Bridge?</summary>

Los usuarios con acceso de solo lectura solo pueden clonar este proyecto; los usuarios con acceso de lectura y escritura pueden clonar y hacer push de proyectos. Nota: los usuarios deben haber iniciado sesión para unirse a este proyecto.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/on-premises/es/configuracion/overleaf-toolkit/git-integration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
