> 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/latex/fr/base-de-connaissances/040-git-integration.md).

# intégration Git

**Intégration Git d'Overleaf** est une [fonctionnalité premium](/latex/fr/base-de-connaissances/120-overleaf-premium-features.md). Les fonctionnalités premium d’Overleaf sont disponibles pour les participants aux [Overleaf Commons](https://www.overleaf.com/for/universities), les membres du groupe [abonnements](https://www.overleaf.com/for/groups), et les propriétaires d’un abonnement individuel [abonnements](https://www.overleaf.com/user/subscription/plans). L'intégration Git est disponible sur Overleaf Cloud et Overleaf Server Pro (version 4.0 et ultérieures).

### Qu'est-ce que l'intégration Git d'Overleaf ?

L'intégration Git d'Overleaf vous permet d'obtenir une URL Git à partir de votre projet Overleaf et de le traiter comme un dépôt Git distant (repo). Vous pouvez cloner votre projet dans un dépôt Git local et travailler localement sur votre projet, en envoyant les modifications de votre machine locale vers votre projet et en récupérant les mises à jour qui se produisent dans l'éditeur en ligne d'Overleaf vers votre dépôt local.

Cela vous permet de travailler localement sur votre projet lorsque le travail en ligne n'est pas possible, d'utiliser un autre éditeur local de votre choix lorsque vous travaillez sur un projet Overleaf, ou d'ajouter facilement les sorties d'autres logiciels locaux à votre projet Overleaf.

Vous pouvez obtenir l'URL Git et la commande de clonage pour votre projet dans l'option Git du menu Overleaf de votre projet.

![Menu du projet git.png](/files/14aea8ec978da51b0c485ae81f10600020c42a85)

### Comment s'authentifier lors de l'utilisation de l'intégration Git

Lorsque vous effectuez une opération Git telle qu'un clone, un pull ou un push vers votre projet Overleaf distant, il vous sera demandé de vous authentifier.

Pour accéder à votre projet Overleaf depuis Git, vous devez utiliser l'authentification basée sur des jetons Overleaf. Pour des instructions pas à pas, voir : [Authentification basée sur des jetons](/latex/fr/base-de-connaissances/042-git-integration-authentication-tokens.md).

### Cloner votre projet en tant que dépôt local

À partir de [**Menu**](/latex/fr/base-de-connaissances/148-using-the-overleaf-project-menu.md) dans votre projet, vous pouvez sélectionner Git parmi les options de synchronisation. Cela fera apparaître une boîte de dialogue affichant la `git clone` commande à utiliser lors de la création de votre dépôt local.

![Menu du projet git.png](/files/14aea8ec978da51b0c485ae81f10600020c42a85)

Sinon, vous pouvez trouver l'URL Git à partir de l'URL du projet (l'URL dans la barre d'adresse du navigateur lorsque vous êtes dans un projet).

#### Overleaf Cloud

Si vous utilisez Overleaf Cloud et que l'URL de votre projet ressemble à :

```
https://www.overleaf.com/project/1234567
```

Alors l'URL Git à utiliser pour cloner le projet sera

```
https://git.overleaf.com/1234567
```

Et la commande utilisée pour cloner le projet dans un dépôt Git local sera :

```
git clone https://git.overleaf.com/1234567
```

**Remarque**: vous pourriez être invité à saisir un nom d'utilisateur et un mot de passe. Veuillez consulter [Authentification par mot de passe pour l'intégration Git](/latex/fr/base-de-connaissances/043-git-integration-password-based-authentication.md)

#### Overleaf Server Pro (version 4.0 ou ultérieure)

**Remarque**: L'intégration Git-bridge n'est pas activée par défaut dans Server Pro. Veuillez consulter notre [Intégration Git](https://github.com/overleaf/overleaf/wiki/Git-Integration) guide pour savoir comment l'activer.

Si vous utilisez Overleaf Server Pro et que l'URL de votre projet ressemble à ceci :

```
https://<SHARELATEX_SITE_URL>/project/1234567
```

Alors l'URL Git utilisée lors du clonage du projet sera :

```
https://git@<SHARELATEX_SITE_URL>/git/1234567
```

Et la commande utilisée pour cloner le projet dans un dépôt Git local à l'aide de la ligne de commande Git sera :

```
git clone git@<SHARELATEX_SITE_URL>/git/1234567
```

**Remarque**: Un mot de passe peut vous être demandé. Veuillez consulter : [Jetons d'authentification pour l'intégration Git](/latex/fr/base-de-connaissances/042-git-integration-authentication-tokens.md)

### Créer un projet Overleaf à partir d'un dépôt Git existant

Si vous avez un dépôt existant, vous pouvez ajouter un projet Overleaf comme dépôt distant. Il y a quelques commandes ci-dessous que vous devrez exécuter pour démarrer. Veuillez noter qu'Overleaf ne prend en charge qu'un seul historique linéaire pour chaque projet. L'intégration Git impose cette limitation en limitant à un le nombre de branches. Cette branche unique est actuellement codée en dur pour s'appeler `master`.

1. Tout d'abord, nous supposons que vous avez un dépôt git sur votre ordinateur dans un dossier appelé `my-paper`. (Il pourrait aussi être hébergé sur GitHub, GitLab ou Bitbucket, etc., mais vous devez aussi l'avoir cloné localement.)
2. Créer [un nouveau projet](/latex/fr/base-de-connaissances/031-creating-a-document-in-overleaf.md) sur Overleaf. Comme tout contenu du projet sera écrasé, utilisez l'option de projet « Vierge » lors de la création de ce projet et supprimez le `main.tex` fichier dans Overleaf.
3. Trouvez l'URL Git du projet (voir [ci-dessus](#cloning-your-project-as-a-local-repository)).

   ![Git-bridge-url.png](/files/2d7f74e03dbe466c48b042bc61028ae6a96d68ae)
4. Ajoutez l'URL Git du projet comme dépôt distant dans votre projet local.

   ```
   $ cd my-paper
   $ git remote add overleaf <GIT-URL>
   ```

   (Assurez-vous d'utiliser votre propre lien, et non le lien d'exemple.)
5. Récupérez le contenu le plus récent du projet Overleaf et fusionnez-le dans votre branche master.

   ```
   $ git checkout master
   $ git pull overleaf master --allow-unrelated-histories --rebase=false
   ```
6. Poussez votre projet vers Overleaf.

   ```
   $ git push overleaf master --set-upstream
   ```

   Si vous souhaitez utiliser un nom de branche différent en local, par ex. `my-branch`, vous pouvez envoyer vos modifications avec un alias :

   ```
   $ git push overleaf my-branch:master
   ```
7. Visitez le projet sur Overleaf. Vos modifications devraient s'y trouver. (Vous devrez peut-être ouvrir le menu de projet Overleaf pour trouver quel fichier a été défini comme fichier principal du document, et éventuellement modifier cette sélection initiale.)

### Commits Git et l'intégration Git d'Overleaf

Overleaf dispose d'un [système d'historique](/latex/fr/autres-sujets/49-using-the-history-feature.md) interne

#### Quand les commits sont-ils créés ?

Lorsque vous exécutez une `pull` ou `fetch` commande, si aucun commit n'existe pour l'état actuel du projet, un nouveau commit est créé dynamiquement. Lorsque vous `push` des fichiers depuis votre dépôt local vers le dépôt distant Overleaf, un commit est également créé à ce moment-là, et il sera visible dans tout futur clonage que vous ferez du projet Overleaf. Lorsque vous ou d'autres personnes modifiez du contenu dans Overleaf, des commits ne seront pas générés automatiquement tant qu'ils ne seront pas nécessaires.

#### Forcer la création de commits

Si vous souhaitez forcer la création d'un commit à un moment particulier de l'historique Overleaf, vous pouvez le faire en [attribuant une étiquette à une version](/latex/fr/autres-sujets/49-using-the-history-feature.md) dans l'historique Overleaf. La version étiquetée obtiendra son propre hash de commit même si vous n'effectuez pas immédiatement un git pull. Un commit ne sera créé à partir d'une étiquette que s'il n'y a eu aucun autre commit plus récent que le point de l'historique Overleaf qui est étiqueté.

#### Suivi de la paternité

Le caractère juste-à-temps des commits issus de l'intégration Git d'Overleaf signifie que s'il y a eu plusieurs modifications du côté d'Overleaf avant qu'un commit ne soit généré, l'auteur de la modification la plus récente sera indiqué comme auteur du commit.

Lorsque vous travaillez avec des co-auteurs, il est utile de créer une étiquette (générant un commit) après que chaque collaborateur a terminé une mise à jour importante - cela crée une séquence de commits visible dans Git qui reflète le plus fidèlement les modifications qui se produisent dans Overleaf.

### Synchronisation avec un autre dépôt distant

L'intégration Git d'Overleaf permet à votre projet Overleaf d'agir comme dépôt distant pour des dépôts locaux. Cependant, vous souhaiterez peut-être synchroniser votre projet Overleaf avec un autre dépôt distant, hébergé sur GitHub, GitLab ou un autre service d'hébergement Git.

Si vous synchronisez votre projet avec un dépôt hébergé sur GitHub (<https://github.com/>), vous pouvez souhaiter utiliser la [synchronisation directe avec GitHub](/latex/fr/base-de-connaissances/044-github-synchronization.md) d'Overleaf.

Si vous synchronisez votre projet avec GitLab, GitHub Enterprise ou un autre hébergeur, vous pouvez utiliser l'intégration Git d'Overleaf pour mettre en place un dépôt local intermédiaire.

En suivant les instructions ci-dessus pour [cloner votre projet](#cloning-your-project-as-a-local-repository) ou [lier un projet à un dépôt existant](#creating-an-overleaf-project-from-an-existing-git-repository), vous disposerez d'un dépôt local pouvant pousser/récupérer les modifications depuis Overleaf. Vous pouvez ensuite ajouter à ce dépôt un second dépôt distant pointant vers votre dépôt hébergé. Votre dépôt local devra avoir deux dépôts distants afin de pointer à la fois vers votre hébergeur Git et vers le projet Overleaf.

Bien qu'il n'y ait pas de connexion directe entre le projet Overleaf et votre dépôt Git, cela vous permettra de les garder synchronisés.

![Git other remote.png](/files/9c855e0091785389c6519627dbfdc00b6f289a81)

### Ajoutez un projet Overleaf en tant que sous-module Git

Chaque projet sur Overleaf agit comme un dépôt Git indépendant, mais si vous souhaitez organiser plusieurs projets de ce type en un seul dépôt Git, vous pouvez ajouter le dépôt de chaque projet comme sous-module Git de la manière habituelle. Vous pouvez ensuite pousser et récupérer chaque dépôt de sous-module vers/depuis Overleaf individuellement tout en les regroupant en tant que sous-modules dans un projet plus vaste.

**Remarque :** Bien que les projets Overleaf puissent être des sous-modules dans un autre dépôt, les projets Overleaf eux-mêmes ne peuvent pas contenir d'autres sous-modules.

### Limitations connues

**Branches**: Le système Git d'Overleaf ne prend pas en charge les branches.

**Liens symboliques**: Le système Git d'Overleaf ne gère pas bien les liens symboliques. Un lien symbolique peut être poussé dans un projet Overleaf, mais il sera converti en fichier normal et écrasera le lien symbolique local lors du prochain pull du projet.

**Balises**: Le système Git d'Overleaf ne prend pas en charge les balises.

**Autorisations de fichiers**: Le système Git d'Overleaf ne conserve pas les autorisations d'exécution. Pour contourner cela, vous pouvez exécuter `git config core.fileMode false` dans votre clone local du dépôt. Vous pouvez ensuite réinitialiser les autorisations d'exécution sur les fichiers concernés. De cette façon, elles ne seront plus modifiées par les opérations Git suivantes.

**Git LFS :** Les projets Overleaf ne prennent pas en charge Git Large File Storage.

**Sous-modules Git :** Les projets Overleaf peuvent agir comme sous-modules Git dans d'autres dépôts, mais ne peuvent pas contenir d'autres sous-modules Git. Pour référencer des fichiers d'autres projets, il est suggéré d'utiliser la [fonction d'ajout depuis un autre projet](/latex/fr/base-de-connaissances/009-can-i-share-files-e.g.-.bib-and-some-graphics-across-my-projects.md).

**Renommage de dossiers**: Si un utilisateur renomme un dossier et pousse la modification vers Overleaf, le projet conservera un dossier vide avec l'ancien nom, en plus du nouveau dossier. (Par exemple, renommer images/ en img/ laissera deux dossiers dans le projet : img/ contenant les fichiers image, et images/, qui sera vide. Cela peut poser des problèmes lorsqu'un utilisateur renomme un dossier et crée un nouveau fichier portant le même nom que l'ancien dossier, dans un seul commit. Le système Git d'Overleaf rejettera ce commit. Dans ce cas, nous recommandons de scinder le commit en deux parties et de supprimer le dossier restant.

**Renommage et déplacement de fichiers :** Le renommage d'un fichier dans votre dépôt local devient une suppression et une création du côté Overleaf. Cela peut entraîner une perte des métadonnées associées à un fichier du côté Overleaf, provoquant la suppression des modifications suivies et des commentaires. Il n'est pas recommandé de déplacer ou de renommer des fichiers du côté Git s'ils ont des modifications suivies ou des commentaires dans Overleaf.

**Suivi des modifications et commentaires**: Malheureusement, les pushes de Git vers Overleaf peuvent entraîner la perte ou le déplacement des modifications suivies et des commentaires ; par conséquent, nous ne recommandons pas de mélanger l'utilisation active de Git et l'utilisation du suivi des modifications et/ou des commentaires.

### Dépannage

#### Erreurs de dépôt introuvable

Si vous voyez une erreur « dépôt introuvable », il est probable que la mauvaise URL soit utilisée. L'URL correcte peut être trouvée en cliquant sur l'option Git dans le menu du projet. Pour Overleaf Cloud, l'intégration Git est une fonctionnalité premium, elle ne sera donc disponible que si le propriétaire du projet dispose d'un abonnement payant à Overleaf ou a obtenu l'accès à la fonctionnalité (par exemple en participant aux tests bêta initiaux).

#### Erreurs d'échec de l'authentification

Veuillez consulter les instructions de dépannage pour [Jetons d'authentification pour l'intégration Git](/latex/fr/base-de-connaissances/042-git-integration-authentication-tokens.md) ou [Authentification par mot de passe pour l'intégration Git](/latex/fr/base-de-connaissances/043-git-integration-password-based-authentication.md) selon la méthode de connexion que vous utilisez.

#### Limites de débit

La limitation de débit du Git Bridge ne se produit généralement pas lorsque les opérations Git sont exécutées manuellement. Certains clients Git peuvent être configurés pour tenter d'interroger automatiquement les dépôts distants afin de détecter les modifications, ce qui peut dans certains cas entraîner des erreurs de limitation de débit. En général, désactiver toute interrogation automatisée ou réduire la fréquence des opérations Git devrait résoudre ces problèmes.

#### Échec de l'envoi des références

L'échec de l'envoi de certaines références vers le projet distant peut être causé par [le dépassement des limites de taille ou de nombre de fichiers d'un projet](/latex/fr/base-de-connaissances/119-overleaf-plan-limits.md) ou par l'inclusion de types de fichiers non pris en charge (liens symboliques ou LFS, par exemple). Veuillez consulter les limitations connues listées ci-dessus pour identifier tout fichier problématique dans le commit.

Dans certains cas, augmenter le **postBuffer** peut résoudre les échecs d'envoi des références depuis votre dépôt local vers le projet Overleaf.

Tout d'abord, vous pouvez vérifier votre paramètre actuel avec la commande :

```
     git config http.postBuffer
```

S'il n'y a aucune sortie, cela signifie que la valeur par défaut de 1 Mo est utilisée.

Ensuite, essayez la commande

```
     git config --global http.postBuffer 10485760
```

qui définira la valeur à 10 Mo à la place.

Vous pouvez maintenant essayer de pousser le commit (vers le projet d'origine ou vers le nouveau). Si cela ne fonctionne pas, vous pouvez revenir à votre paramètre précédent, ou supprimer le paramètre avec :

```
     git config --global --unset http.postBuffer
```

#### Délais d'attente

Les commits Git qui incluent un grand nombre de modifications peuvent potentiellement entraîner des délais d'attente. Si vous rencontrez un délai d'attente, veuillez essayer de diviser le commit en modifications plus petites. Si le problème persiste, envisagez de définir le **postBuffer** à 10 Mo comme décrit ci-dessus.


---

# 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/latex/fr/base-de-connaissances/040-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.
