# Obtention de modifications à partir d’un dépôt distant

Vous pouvez utiliser des commandes Git courantes pour accéder à des référentiels distants.

## Options d’obtention de modifications

Ces commandes sont très utiles lors de l’interaction avec [un dépôt distant](/fr/enterprise-server@3.22/get-started/git-basics/about-remote-repositories).
`clone` et `fetch` téléchargent le code distant à partir de l’URL distante d’un dépôt vers votre ordinateur local, `merge` est utilisée pour fusionner le travail de différentes personnes avec le vôtre et `pull` est une combinaison de `fetch` et `merge`.

## Clonage d’un dépôt

Pour récupérer une copie complète du dépôt d’un autre utilisateur, utilisez `git clone` comme suit :

```shell
$ git clone https://HOSTNAME/USERNAME/REPOSITORY.git
# Clones a repository to your computer
```

Vous pouvez choisir parmi [plusieurs URL différentes](/fr/enterprise-server@3.22/get-started/git-basics/about-remote-repositories) lors du clonage d’un dépôt. Lorsque vous êtes connecté à GitHub, ces URL sont disponibles sur la page principale du dépôt lorsque vous cliquez sur **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-code" aria-label="code" role="img"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path></svg> Code** .

![Capture d’écran de la page principale d’un dépôt. Un bouton vert « Code » est souligné en orange et développé pour montrer l'URL HTTPS du référentiel.](/assets/images/help/repository/remotes-url-global-nav-update.png)

Lorsque vous exécutez `git clone`, les actions suivantes se produisent :

* Un dossier appelé `repo` est créé
* Il est initialisé en tant que dépôt Git
* Un dépôt distant nommé `origin` est créé, pointant vers l’URL à partir de laquelle vous avez cloné
* Tous les fichiers et commits du dépôt sont téléchargés ici
* La branche par défaut est extraite

Pour chaque branche `foo` du dépôt distant, une branche de suivi à distance correspondante `refs/remotes/origin/foo` est créée dans votre dépôt local. Vous pouvez généralement abréger ces noms de branche de suivi à distance en `origin/foo`.

## Extraction de modifications à partir d’un dépôt distant

Utilisez `git fetch` pour récupérer le nouveau travail effectué par d’autres personnes. L’extraction à partir d’un dépôt récupère toutes les nouvelles branches de suivi à distance et balises *sans* fusionner ces modifications dans vos propres branches.

Si vous disposez déjà d’un dépôt local avec une URL distante configurée pour le projet souhaité, vous pouvez récupérer toutes les nouvelles informations en utilisant `git fetch *remotename*` dans le terminal :

```shell
$ git fetch REMOTE-NAME
# Fetches updates made to a remote repository
```

Sinon, vous pouvez toujours ajouter un nouveau dépôt distant, puis extraire. Pour plus d’informations, consultez « [Gestion de dépôts distants](/fr/enterprise-server@3.22/get-started/git-basics/managing-remote-repositories) ».

## Intégration des modifications dans votre branche locale

La fusion combine vos modifications locales avec les modifications apportées par d’autres utilisateurs.

En règle générale, vous fusionnez une branche de suivi à distance (c’est-à-dire une branche extraite à partir d’un dépôt distant) avec votre branche locale :

```shell
$ git merge REMOTE-NAME/BRANCH-NAME
# Merges updates made online with your local work
```

## Tirage de modifications à partir d’un dépôt distant

`git pull` est un raccourci pratique pour exécuter à la fois `git fetch` et `git merge` dans la même commande :

```shell
$ git pull REMOTE-NAME BRANCH-NAME
# Grabs online updates and merges them with your local work
```

Étant donné que `pull` effectue une fusion sur les modifications récupérées, vous devez vous assurer que votre travail local est commité avant d’exécuter la commande `pull`. Si vous rencontrez [un conflit de fusion](/fr/enterprise-server@3.22/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line) que vous ne pouvez pas résoudre ou si vous décidez d’arrêter la fusion, vous pouvez utiliser `git merge --abort` pour ramener la branche à l’emplacement où elle se trouvait avant le tirage.

## Pour aller plus loin

* ```
            [« Utilisation de dépôts distants » du livre _Pro Git_](https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes)
  ```