Comment résoudre le problème de fichiers distants Git manquants sur une machine locale

GitGitBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Si vous rencontrez un problème où votre référentiel Git local manque de fichiers qui existent dans le référentiel distant, ce tutoriel est pour vous. Nous vous guiderons tout au long des étapes pour identifier le problème, récupérer et fusionner les mises à jour distantes, et résoudre tout conflit pour vous assurer que votre ordinateur local est synchronisé avec le référentiel distant.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git(("Git")) -.-> git/CollaborationandSharingGroup(["Collaboration and Sharing"]) git/BasicOperationsGroup -.-> git/status("Check Status") git/CollaborationandSharingGroup -.-> git/fetch("Download Updates") git/CollaborationandSharingGroup -.-> git/pull("Update & Merge") git/CollaborationandSharingGroup -.-> git/push("Update Remote") git/CollaborationandSharingGroup -.-> git/remote("Manage Remotes") subgraph Lab Skills git/status -.-> lab-392755{{"Comment résoudre le problème de fichiers distants Git manquants sur une machine locale"}} git/fetch -.-> lab-392755{{"Comment résoudre le problème de fichiers distants Git manquants sur une machine locale"}} git/pull -.-> lab-392755{{"Comment résoudre le problème de fichiers distants Git manquants sur une machine locale"}} git/push -.-> lab-392755{{"Comment résoudre le problème de fichiers distants Git manquants sur une machine locale"}} git/remote -.-> lab-392755{{"Comment résoudre le problème de fichiers distants Git manquants sur une machine locale"}} end

Comprendre les référentiels distants Git

Git est un système de contrôle de versions distribué, ce qui signifie que le référentiel local de chaque développeur contient l'histoire complète du projet. En plus du référentiel local, les développeurs travaillent souvent avec des référentiels distants, hébergés sur des serveurs distants et servant de lieu central de collaboration et de partage de code.

Qu'est-ce qu'un référentiel distant Git?

Un référentiel distant Git est un référentiel hébergé sur un serveur distant, tel que GitHub, GitLab ou Bitbucket. Il sert de lieu central où les développeurs peuvent pousser leurs modifications locales, extraire les dernières mises à jour et collaborer sur un projet.

Accès aux référentiels distants

Pour accéder à un référentiel distant, vous devez avoir l'URL du référentiel. Cette URL peut être obtenue à partir de la plateforme d'hébergement (par exemple, GitHub, GitLab) et peut être au format d'URL HTTPS ou SSH.

## Clonez un référentiel distant
git clone https://github.com/username/repository.git

## Ajoutez un référentiel distant à votre projet local
git remote add origin https://github.com/username/repository.git

Interaction avec les référentiels distants

Les principales commandes pour interagir avec les référentiels distants sont les suivantes :

  • git push : Télécharge vos commits locaux sur le référentiel distant.
  • git pull : Télécharge les dernières mises à jour du référentiel distant et les fusionne avec vos modifications locales.
  • git fetch : Télécharge les dernières mises à jour du référentiel distant sans les fusionner avec vos modifications locales.
## Poussez vos modifications locales sur le référentiel distant
git push origin master

## Téléchargez les dernières mises à jour du référentiel distant
git pull origin master

## Téléchargez les dernières mises à jour du référentiel distant
git fetch origin

En comprenant le concept de référentiels distants Git, vous pouvez collaborer efficacement avec d'autres développeurs, maintenir votre référentiel local à jour et gérer la base de code de votre projet sur plusieurs machines.

Identification des fichiers distants manquants

Lorsque vous travaillez avec un référentiel distant Git, il se peut que votre référentiel local manque de certains fichiers qui existent dans le référentiel distant. Cela peut se produire pour diverses raisons, par exemple lorsque vous avez cloné le référentiel pour la première fois ou lorsque d'autres membres de l'équipe ont poussé de nouveaux fichiers dans le référentiel distant.

Vérification de l'état de votre référentiel local

Pour identifier les fichiers distants manquants, vous pouvez utiliser la commande git status pour vérifier l'état de votre référentiel local :

## Vérifiez l'état de votre référentiel local
git status

La sortie de git status vous montrera les fichiers qui ne sont pas suivis, modifiés ou manquants dans votre référentiel local par rapport au référentiel distant.

Identification des fichiers distants manquants

Si la commande git status indique que vous êtes "en retard" par rapport au référentiel distant, cela signifie qu'il y a des fichiers dans le référentiel distant qui ne sont pas présents dans votre référentiel local. Vous pouvez utiliser la commande git diff pour voir les différences entre votre référentiel local et le référentiel distant :

## Comparez votre référentiel local avec le référentiel distant
git diff origin/master

La sortie de git diff vous montrera les fichiers qui sont présents dans le référentiel distant mais manquants dans votre référentiel local.

En identifiant les fichiers distants manquants, vous pouvez ensuite procéder à la récupération et à la fusion des dernières mises à jour du référentiel distant dans votre référentiel local.

Vérification de l'état du référentiel local Git

Avant de pouvoir corriger tout fichier distant manquant, il est important de comprendre l'état actuel de votre référentiel local Git. La commande git status est un outil puissant qui vous fournit des informations précieuses sur l'état de votre référentiel local.

Utilisation de la commande git status

La commande git status affiche l'état actuel de votre référentiel local, y compris :

  • Fichiers non suivis : Les fichiers qui ne sont pas suivis par Git.
  • Fichiers modifiés : Les fichiers qui ont été modifiés mais pas encore préparés pour le commit.
  • Fichiers préparés : Les fichiers qui ont été ajoutés à la zone de préparation et sont prêts à être validés.
  • Statut "en avance/en retard" : Si votre référentiel local est en avance ou en retard par rapport au référentiel distant.
## Vérifiez l'état de votre référentiel local
git status

La sortie de la commande git status vous donnera une compréhension claire de l'état actuel de votre référentiel local.

Interprétation de la sortie de git status

Voici un exemple de la sortie que vous pourriez voir en exécutant git status :

Sur la branche master
Votre branche est en retard de 2 commits par rapport à 'origin/master' et peut être mise à jour par un fast-forward.
  (utilisez "git pull" pour mettre à jour votre branche locale)

Fichiers non suivis :
  (utilisez "git add <fichier>..." pour inclure dans ce qui sera validé)
        missing_file.txt

Rien n'a été ajouté pour le commit, mais des fichiers non suivis sont présents (utilisez "git add" pour les suivre)

Dans cet exemple, la sortie indique que votre branche locale master est en retard de 2 commits par rapport à la branche distante origin/master, et que vous avez un fichier non suivi nommé missing_file.txt dans votre référentiel local.

En comprenant la sortie de la commande git status, vous pouvez rapidement identifier tout fichier distant manquant et prendre les mesures nécessaires pour mettre à jour votre référentiel local.

Récupération et fusion des mises à jour distantes

Après avoir identifié les fichiers distants manquants, l'étape suivante consiste à récupérer les dernières mises à jour du référentiel distant et à les fusionner avec votre référentiel local. Ce processus vous assure que votre référentiel local est à jour et contient tous les fichiers nécessaires.

Récupération des mises à jour distantes

La commande git fetch vous permet de télécharger les dernières mises à jour du référentiel distant sans les fusionner avec votre référentiel local. Cela est pratique lorsque vous voulez examiner les modifications avant de les intégrer dans votre base de code locale.

## Récupérez les dernières mises à jour du référentiel distant
git fetch origin

Après avoir exécuté git fetch, vous pouvez utiliser la commande git diff pour comparer le référentiel distant avec votre référentiel local et voir les modifications.

## Comparez votre référentiel local avec le référentiel distant
git diff origin/master

Fusion des mises à jour distantes

Une fois que vous avez examiné les modifications et que vous êtes prêt à mettre à jour votre référentiel local, vous pouvez utiliser la commande git pull pour récupérer les dernières mises à jour du référentiel distant et les fusionner avec votre référentiel local.

## Téléchargez les dernières mises à jour du référentiel distant et fusionnez-les avec votre référentiel local
git pull origin master

La commande git pull téléchargera les dernières mises à jour du référentiel distant et les fusionnera automatiquement avec votre référentiel local. S'il y a des conflits entre vos modifications locales et les modifications distantes, Git vous invitera à résoudre manuellement les conflits.

En récupérant et en fusionnant les mises à jour distantes, vous pouvez vous assurer que votre référentiel local est synchronisé avec le référentiel distant et contient tous les fichiers nécessaires.

Résolution des conflits et validation des modifications

Après avoir récupéré et fusionné les mises à jour distantes, vous pouvez rencontrer des conflits entre vos modifications locales et les modifications distantes. Résoudre ces conflits est une étape cruciale pour vous assurer que votre référentiel local est à jour et cohérent avec le référentiel distant.

Résolution des conflits

Lorsque Git rencontre un conflit, il marquera les sections en conflit dans les fichiers affectés. Vous pouvez ensuite ouvrir les fichiers et résoudre manuellement les conflits en choisissant les modifications appropriées à conserver.

## Résolvez les conflits dans un fichier
<<<<<<< HEAD
## Vos modifications locales
=======
## Modifications distantes
>>>>>>> origin/master

## Après avoir résolu les conflits, préparez le fichier
git add conflicted_file.txt

Une fois que vous avez résolu les conflits, vous devez préparer les fichiers affectés à l'aide de la commande git add.

Validation des modifications

Après avoir résolu les conflits et préparé les fichiers, vous pouvez valider les modifications dans votre référentiel local.

## Validez les conflits résolus
git commit -m "Résolution des conflits avec le référentiel distant"

Poussée des modifications vers le référentiel distant

Enfin, vous pouvez pousser vos modifications locales, y compris les conflits résolus, vers le référentiel distant.

## Poussez les modifications validées vers le référentiel distant
git push origin master

En résolvant les conflits et en validant les modifications, vous pouvez vous assurer que votre référentiel local est entièrement synchronisé avec le référentiel distant et que tous les fichiers nécessaires sont présents et à jour.

Sommaire

En suivant les étapes décrites dans ce tutoriel, vous serez en mesure de résoudre rapidement et efficacement le problème des fichiers distants Git manquants sur votre ordinateur local. Vous apprendrez à vérifier l'état de votre référentiel local, à récupérer et à fusionner les mises à jour distantes, et à gérer tout conflit qui peut survenir. Cela vous aidera à maintenir un environnement de développement local cohérent et à jour, en vous assurant que votre travail est synchronisé avec le référentiel distant.