Skip to main content

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. 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 :

$ git clone https://github.com/USERNAME/REPOSITORY.git
# Clones a repository to your computer

Vous pouvez choisir parmi plusieurs URL différentes lors du clonage d’un dépôt. Lorsque vous êtes connecté à GitHub, ces URL sont disponibles sur la page principale du référentiel quand vous cliquez sur Code .

Capture d’écran de la page principale d’un dépôt. Un bouton vert, intitulé « Code », est indiqué en orange foncé et développé pour afficher l'URL HTTPS du référentiel.

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 :

$ 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 « Création de dépôt distants ».

Fusion 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 :

$ 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 :

$ 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 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