Comment vérifier si un commit Git a été poussé

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

Dans ce laboratoire, vous apprendrez à vérifier si un commit Git a été poussé vers un dépôt distant. Nous explorerons différentes méthodes pour y parvenir, en commençant par la récupération des modifications depuis un dépôt distant et en utilisant git log @{u} pour comparer les branches locales et distantes.

Vous apprendrez ensuite à utiliser git branch -r --contains pour identifier les branches distantes qui contiennent un commit spécifique et, enfin, à vérifier le statut du push en inspectant directement la branche distante. Cette approche pratique vous fournira les compétences pratiques nécessaires pour déterminer avec confiance le statut du push de vos commits Git.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/CollaborationandSharingGroup(["Collaboration and Sharing"]) git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git/BasicOperationsGroup -.-> git/add("Stage Files") git/BasicOperationsGroup -.-> git/commit("Create Commit") git/BranchManagementGroup -.-> git/branch("Handle Branches") git/BranchManagementGroup -.-> git/log("Show Commits") git/CollaborationandSharingGroup -.-> git/fetch("Download Updates") git/CollaborationandSharingGroup -.-> git/push("Update Remote") git/CollaborationandSharingGroup -.-> git/remote("Manage Remotes") subgraph Lab Skills git/add -.-> lab-560055{{"Comment vérifier si un commit Git a été poussé"}} git/commit -.-> lab-560055{{"Comment vérifier si un commit Git a été poussé"}} git/branch -.-> lab-560055{{"Comment vérifier si un commit Git a été poussé"}} git/log -.-> lab-560055{{"Comment vérifier si un commit Git a été poussé"}} git/fetch -.-> lab-560055{{"Comment vérifier si un commit Git a été poussé"}} git/push -.-> lab-560055{{"Comment vérifier si un commit Git a été poussé"}} git/remote -.-> lab-560055{{"Comment vérifier si un commit Git a été poussé"}} end

Récupérer les modifications distantes et vérifier avec git log @{u}

Dans cette étape, nous apprendrons à récupérer les modifications depuis un dépôt distant et à comparer notre branche locale avec la branche distante en utilisant git log @{u}.

Tout d'abord, simulons l'existence d'un dépôt distant. Dans un scénario réel, celui-ci serait hébergé sur une plateforme comme GitHub ou GitLab, mais pour ce laboratoire, nous utiliserons un répertoire local comme notre "dépôt distant".

Accédez au répertoire de votre projet :

cd ~/project/my-time-machine

Maintenant, ajoutons un dépôt distant nommé origin pointant vers un dépôt distant simulé. Nous supposons qu'un dépôt distant a été configuré dans la section setup.

git remote add origin ../my-time-machine-remote

Cette commande indique à votre dépôt Git local qu'il existe un autre dépôt situé à l'emplacement ../my-time-machine-remote et que nous l'appelons origin.

Maintenant, récupérons les dernières modifications de ce dépôt distant. La commande git fetch télécharge les commits, les fichiers et les références depuis un dépôt distant vers votre dépôt local. Elle ne fusionne pas automatiquement ni ne modifie votre travail actuel.

git fetch origin

Vous devriez voir un message indiquant que Git récupère les modifications depuis le dépôt distant.

Après la récupération, nous pouvons utiliser git log @{u} (ou git log origin/master dans ce cas, car origin/master est la branche amont de master) pour voir les commits sur la branche distante qui ne sont pas encore sur notre branche locale. La syntaxe @{u} ou @{upstream} fait référence à la branche amont de la branche actuelle.

git log @{u}

Étant donné que notre branche locale master a été créée à partir de zéro et que la branche distante master (simulée) a également commencé vide et que nous n'avons pas encore ajouté de commits au dépôt distant, cette commande peut ne rien afficher, ou elle peut afficher le commit initial si le dépôt distant a été initialisé avec un commit. L'essentiel est de comprendre ce que fait cette commande : elle affiche les commits qui sont sur la branche amont (origin/master) mais pas sur votre branche locale actuelle (master).

Comprendre la différence entre votre branche locale et la branche distante est crucial pour la collaboration et pour maintenir votre projet à jour. git fetch et git log @{u} sont des outils puissants pour inspecter l'état du dépôt distant sans modifier votre répertoire de travail local.

Utiliser git branch -r --contains

Dans cette étape, nous allons explorer comment utiliser la commande git branch -r --contains pour trouver quelles branches distantes contiennent un commit spécifique. Cela est utile lorsque vous souhaitez savoir si un changement particulier a été inclus dans une branche distante.

Tout d'abord, assurez-vous d'être dans le répertoire de votre projet :

cd ~/project/my-time-machine

Maintenant, créons un nouveau commit dans notre dépôt local. Cela nous donnera un commit à rechercher sur le dépôt distant.

echo "Adding another message" >> message.txt
git add message.txt
git commit -m "Add another message"

Vous devriez voir un message confirmant le nouveau commit.

Maintenant, utilisons git log --oneline pour voir l'historique et obtenir le hash du commit de notre dernier commit.

git log --oneline

Copiez le hash du commit (la courte chaîne de caractères) du commit avec le message "Add another message". Il ressemblera à quelque chose comme abcdefg.

Maintenant, utilisons git branch -r --contains avec le hash du commit que vous venez de copier. Remplacez YOUR_COMMIT_HASH par le véritable hash.

git branch -r --contains YOUR_COMMIT_HASH

Étant donné que nous n'avons pas encore poussé ce nouveau commit vers le dépôt distant (origin), cette commande ne devrait pas afficher origin/master dans la sortie. En effet, la branche distante origin/master ne contient pas encore le commit que vous venez de créer localement.

La partie git branch -r liste les branches de suivi distantes. La partie --contains YOUR_COMMIT_HASH filtre cette liste pour n'afficher que les branches qui contiennent le commit spécifié.

Cette commande est un moyen puissant de vérifier l'état de vos commits par rapport aux branches distantes. Elle vous aide à comprendre si vos modifications ont été intégrées dans le dépôt distant.

Vérifier avec la branche distante

Dans cette étape finale, nous allons pousser notre commit local vers le dépôt distant, puis utiliser à nouveau git branch -r --contains pour vérifier que la branche distante contient maintenant notre commit.

Tout d'abord, assurez-vous d'être dans le répertoire de votre projet :

cd ~/project/my-time-machine

Maintenant, poussons notre branche locale master vers le dépôt distant origin.

git push origin master

Vous devriez voir un message indiquant que votre commit est en cours de transfert vers le dépôt distant.

Une fois le transfert terminé, récupérons le hash du commit que nous souhaitons vérifier. Utilisons à nouveau git log --oneline :

git log --oneline

Copiez le hash du commit avec le message "Add another message".

Maintenant, utilisez git branch -r --contains avec le hash du commit que vous venez de copier. Remplacez YOUR_COMMIT_HASH par le véritable hash.

git branch -r --contains YOUR_COMMIT_HASH

Cette fois-ci, vous devriez voir origin/master dans la sortie. Cela confirme que votre commit a été correctement transféré vers le dépôt distant et que la branche distante origin/master contient maintenant ce commit.

Ce processus de transfert de vos modifications puis de vérification sur la branche distante est un flux de travail courant dans Git, en particulier lorsqu'on collabore avec d'autres personnes. Il garantit que vos contributions sont accessibles au reste de l'équipe.

Vous avez maintenant réussi à récupérer des modifications depuis un dépôt distant, utilisé git branch -r --contains pour vérifier l'existence d'un commit, transféré vos modifications et vérifié le commit sur la branche distante. Ce sont des compétences essentielles pour travailler avec des dépôts distants dans Git.

Résumé

Dans ce laboratoire (lab), nous avons appris à vérifier si des commits locaux Git ont été poussés vers un dépôt distant. Nous avons commencé par simuler un dépôt distant et l'ajouter en tant que dépôt distant origin à notre projet local. Ensuite, nous avons utilisé git fetch origin pour récupérer les dernières informations du dépôt distant sans modifier notre état de travail local.

Après la récupération (fetch), nous avons exploré la commande git log @{u}, qui est un moyen puissant de comparer notre branche locale avec sa branche amont configurée (dans ce cas, origin/master). Cette commande permet de visualiser les commits qui existent sur le dépôt distant mais pas localement, offrant ainsi une vue sur l'état de synchronisation de notre branche. Bien que la sortie initiale puisse être vide si aucun commit n'a été poussé, comprendre cette commande est essentiel pour identifier les commits qui n'ont pas encore été partagés avec le dépôt distant.