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 « Code » est soulignĂ© en orange et dĂ©veloppĂ© pour montrer 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