Comparer les étiquettes locales et distantes
Dans l'étape précédente, nous avons vu comment lister les étiquettes (tags) sur un dépôt distant. Maintenant, voyons comment comparer ces étiquettes distantes avec les étiquettes qui existent dans votre dépôt local. Cela est utile pour vérifier si votre dépôt local est à jour par rapport au dépôt distant ou si vous avez des étiquettes locales qui n'ont pas encore été poussées (push).
Tout d'abord, assurons-nous que nous sommes dans un dépôt Git. Nous allons en créer un simple pour cet exemple. Accédez au répertoire de votre projet et initialisez un nouveau dépôt Git :
cd ~/project
mkdir my-tag-repo
cd my-tag-repo
git init
Maintenant, créons un fichier et effectuons un premier commit :
echo "Initial content" > file.txt
git add file.txt
git commit -m "Initial commit"
Ensuite, créons une étiquette locale. Nous allons créer une étiquette légère nommée v1.0
:
git tag v1.0
Maintenant, listons nos étiquettes locales en utilisant la commande git tag
:
git tag
Vous devriez voir :
v1.0
Cela confirme que notre étiquette locale v1.0
a été créée.
Pour comparer nos étiquettes locales avec les étiquettes distantes, nous aurions généralement besoin d'un dépôt distant. Comme nous n'avons pas encore configuré de dépôt distant pour notre my-tag-repo
, nous pouvons simuler le concept de comparaison.
Imaginez que vous avez un dépôt distant lié à votre dépôt local. Vous pourriez récupérer les dernières informations du dépôt distant sans fusionner les modifications en utilisant git fetch --tags
. Cette commande récupère toutes les étiquettes du dépôt distant.
Après avoir récupéré les informations, vous pouvez utiliser git tag -l
pour lister les étiquettes locales et git ls-remote --tags origin
(en supposant que 'origin' est le nom de votre dépôt distant) pour lister les étiquettes distantes. En comparant les résultats de ces deux commandes, vous pouvez voir quelles étiquettes sont présentes localement, quelles sont présentes à distance et quelles sont présentes dans les deux.
Par exemple, si git tag -l
affiche v1.0
et v1.1
, mais que git ls-remote --tags origin
n'affiche que v1.0
, cela signifie que votre étiquette locale v1.1
n'a pas encore été poussée vers le dépôt distant.
Dans cet environnement de laboratoire (lab), nous n'avons pas de serveur distant pour pousser les étiquettes. Cependant, comprendre les commandes git tag
(pour les étiquettes locales) et git ls-remote --tags
(pour les étiquettes distantes) est la clé pour les comparer.
Dans l'étape suivante, nous explorerons le scénario où vous avez des étiquettes locales qui ne sont pas encore sur le dépôt distant.