> 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/pt/configuracao/overleaf-toolkit/git-integration.md).

# integração Git

A integração Git está apenas disponível em [ayaka-notes/overleaf](https://github.com/ayaka-notes/overleaf) de momento.

{% hint style="info" %}
Este recurso é inicialmente desenvolvido por [ayaka-notes/overleaf-pro](https://github.com/ayaka-notes/overleaf-pro).
{% endhint %}

{% stepper %}
{% step %}

### Ative o git-bridge (apenas para utilizadores do Toolkit)

Se estiver a usar o Toolkit, ative o `git-bridge` definindo o seguinte no seu `config/overleaf.rc`:

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

```
GIT_BRIDGE_ENABLED=true
```

{% endcode %}
{% endstep %}

{% step %}

### Adicione o contentor git-bridge (apenas para utilizadores do Docker Compose)

Para utilizadores que executam uma `docker-compose.yml`, adicione a seguinte configuração de contentor ao seu ficheiro compose:

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

```yaml
git-bridge:
    restart: always
    image: quay.io/sharelatex/git-bridge:4.0.0 # a tag deve corresponder à tag do contentor `sharelatex`
    volumes:
        - ~/git_bridge_data:/data/git-bridge
    container_name: git-bridge
    expose:
        - "8000"
    environment:
        GIT_BRIDGE_API_BASE_URL: "http://sharelatex:3000/api/v0/" 
        # "http://sharelatex/api/v0/" para a versão 4.1.6 e 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 %}

### Atualize a configuração do contentor sharelatex

Também terá de ligar o `git-bridge` contentor no `sharelatex` contentor e definir as seguintes variáveis de ambiente, por favor preste atenção a `V1_HISTORY_URL`:

<pre class="language-yaml" data-title="docker-compose.yml (serviço sharelatex)"><code class="lang-yaml">sharelatex:
    links:
        - git-bridge
    environment:
         GIT_BRIDGE_ENABLED: true
         GIT_BRIDGE_HOST: "git-bridge"
         GIT_BRIDGE_PORT: "8000"
<strong>         # agora usamos v1; se costumava definir V1_HISTORY_URL, por favor atualize agora
</strong><strong>         V1_HISTORY_URL: "http://sharelatex:3054"
</strong></code></pre>

{% endstep %}

{% step %}

### Autenticação

Ao autenticar um cliente git, os utilizadores precisam de um Token de Acesso Pessoal. Os utilizadores podem gerir Tokens de Acesso Pessoal através da interface da aplicação (consulte a documentação):

<figure><img src="/files/1d680ac96867fa2d3d4ea741c90004bc91b54f3e" alt=""><figcaption><p>Token de Acesso Pessoal da Integração Git</p></figcaption></figure>
{% endstep %}

{% step %}

### Monitorização e considerações de recursos

Recomendamos que monitorize os recursos do seu anfitrião após ativar a `git-bridge`. O aumento da carga dependerá de:

* o número de utilizadores que acedem à funcionalidade
* os tipos de projetos alojados na sua instância (projetos maiores são geralmente mais exigentes em recursos)
  {% endstep %}
  {% endstepper %}

### Transferir projetos para o S3

A integração Git armazena um repositório Git completo em disco para cada projeto que é clonado por um utilizador. Se tiver espaço em disco limitado, pode ativar uma tarefa de troca que moverá para o AWS S3 os repositórios menos utilizados. Se um repositório transferido for novamente necessário, é movido de volta para o disco. As seguintes variáveis de ambiente controlam a tarefa de troca:

| Nome                                  | Descrição                                                                                                                                                              |
| ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `GIT_BRIDGE_SWAPSTORE_TYPE`           | Defina isto como "s3" para ativar a tarefa de troca.                                                                                                                   |
| `GIT_BRIDGE_SWAPSTORE_AWS_ACCESS_KEY` | A sua chave de acesso AWS                                                                                                                                              |
| `GIT_BRIDGE_SWAPSTORE_AWS_SECRET`     | O seu segredo AWS                                                                                                                                                      |
| `GIT_BRIDGE_SWAPSTORE_S3_BUCKET_NAME` | Este bucket conterá os repositórios Git comprimidos                                                                                                                    |
| `GIT_BRIDGE_SWAPSTORE_AWS_REGION`     | A região do bucket                                                                                                                                                     |
| `GIT_BRIDGE_SWAPJOB_MIN_PROJECTS`     | <p>Quantos projetos manter em disco, no mínimo.<br><br><strong>- Predefinição:</strong> 50</p>                                                                         |
| `GIT_BRIDGE_SWAPJOB_LOW_GIB`          | <p>Limite inferior para a troca. A tarefa de troca moverá projetos até que o uso do disco fique abaixo deste valor.<br><br><strong>- Predefinição:</strong> 128 GB</p> |
| `GIT_BRIDGE_SWAPJOB_HIGH_GIB`         | <p>Limite superior para a troca. A tarefa de troca começará a transferir quando o uso do disco atingir este valor.<br><br><strong>- Predefinição:</strong> 256 GB</p>  |
| `GIT_BRIDGE_SWAPJOB_INTERVAL_MILLIS`  | <p>O intervalo de tempo entre verificar o uso do disco e executar a tarefa de troca.<br><br><strong>- Predefinição:</strong> 3600000 ms = 1 hora</p>                   |

### Perguntas e Respostas

<details>

<summary>Se partilhar o meu projeto com outra pessoa, como funciona o modelo de permissões do Git Bridge?</summary>

Utilizadores com acesso só de leitura apenas podem clonar este projeto; utilizadores com acesso de leitura e escrita podem clonar e fazer push de projetos. Nota: os utilizadores precisam de ter sessão iniciada para aderir a este projeto.

</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/pt/configuracao/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.
