Passer au contenu
GitTree

Leçon 14 · Travail quotidien

Balises, annotations et dénomination des versions

Créez une v0.1.0 annotée au niveau du commit principal inspecté et transférez uniquement cette balise vers l'origine locale. Distinguez un objet tag d’une branche, d’une signature et d’une version hébergée.

Progression enregistrée dans ce navigateur.

La lecture charge la vidéo depuis YouTube (mode de confidentialité amélioré).

Narration en anglais · English and Arabic légendes

Ouvrez la page vidéoRegarder sur YouTube

Ce que vous apprendrez

  • Créez une balise annotée avec un message délibéré.
  • Vérifiez l’objet tag et le commit pelé séparément.
  • Poussez une balise explicite sans publication de toutes les balises.
  • Gardez la création de balises distincte d’une version hébergée.

Avant de commencer

Commencez là où la leçon 13 s'est terminée : main/H7 clean, serveur main H7, fonctionnalité publiée en F1 ; aucune balise v0.1.0 n'existe. La signature de balises de démonstration locales n’est explicitement pas demandée.

La vidéo a été enregistrée avec Git 2.52.0 et GitTree 2.0 sur Ubuntu 24.04 : le tag a été créé et inséré dans l'application ; l'état avant, le doublon refusé et les contrôles exécutés dans le terminal. Rien n'a été exécuté sur macOS ou Windows, et Ubuntu est le seul système Linux enregistré. Le niveau Git source de GitTree est 2.39.0.

GitTree vous demande de vous connecter ; le plan gratuit couvre ensuite chaque étape ici. Aucun compte fournisseur, Pro/essai, identifiant API ou service Internet n'est nécessaire. Une origine locale nue n'est pas GitLab ou CI. Toutes les identités utilisent example.com ; n'exécutez jamais cette leçon dans une extraction de source.

Effectuez des mutations via GitTree ou le chemin natif à des entrées identiques, pas les deux consécutivement. Une vérification en lecture seule peut suivre l'une ou l'autre. Toute préparation décrite comme un travail de terminal est étiquetée préparation native, jamais une fonctionnalité d'application inventée.

Effets de concept et d'état

Une branche avance normalement avec les commits ; une balise de version est un nom délibérément stable. Une balise légère nomme directement un objet ; une balise annotée ajoute son propre objet tag, son propre tagger et son propre message.

La v0.1.0 nomme ici un objet tag. v0.1.0^{} l'épluche jusqu'au commit. Des ID d'objet différents pour ces deux couches sont attendus et n'indiquent pas deux versions.

L'annotation n'est pas une signature cryptographique. Publier une balise Git ne consiste pas à créer des notes de version du fournisseur, à télécharger des ressources ou à distribuer une version de bureau. Aucune de ces actions externes n'est effectuée ici.

Create ajoute refs/tags/v0.1.0 plus un objet tag ; push ajoute cette balise de serveur sélectionnée. HEAD, les branches locales, les index et les fichiers de travail ne bougent pas.

Préparer l’état exact du projet

Utilisez l'original principal après la leçon 13. Inspectez le H7 SHA réel et vérifiez que la balise est absente avant de la créer. N'ajoutez pas de commit de notebook après le balisage.

Dans GitTree

Palette : Commande+Maj+P (Ctrl+Maj+P sur Ubuntu) ; tapez la commande exactement nommée et sélectionnez-la. Les actions de référence nommée utilisent le menu contextuel de cette ligne, et non un raccourci de palette sans argument.

  1. Sélectionnez la ligne du graphique principal/H7 (documents : ajoutez le rappel de révision de Leo) ; confirmez son changement de pied de page et son identité, puis cliquez dessus avec le bouton droit.
  2. Ouvrez Tag Here et choisissez Create Annotated Tag Here… (le menu de la ligne répertorie également un simple Create Tag Here…, ce qui crée une balise légère). La boîte de dialogue est intitulée « Créer une balise annotée sur » l'identifiant court du commit.
  3. Définissez le nom de la balise v0.1.0 et le message en premier utilisable GitTree Caractéristiques du point de contrôle du cours.
  4. Sous Signing, les choix sont Suivre la configuration Git, Signer cette balise et Don’t sign this tag ; la boîte de dialogue indique que la configuration Git ne signe pas les balises (tag.gpgSign n'est pas défini). Sélectionnez Ne pas signer cette balise pour cette leçon explicite non signée ; ne modifiez pas la configuration de signature globale.
  5. Cliquez une fois sur Créer une balise et attendez ; confirmez que la v0.1.0 étiquette le commit prévu sans modifier le paiement.
  6. Dans le groupe Tags du panneau latéral, cliquez avec le bouton droit sur v0.1.0 → Push Tag (le même menu propose également Supprimer la balise… et Supprimer la balise de la télécommande…, que cette leçon n'utilise pas). L'avis indique « Balise poussée v0.1.0 ».
  7. Vérifier le type d'objet de balise native, le message et la validation pelée ainsi que l'identité de la balise du serveur ; ne confondez pas annotation et signature.
  8. Laissez main clean et la balise inchangée. N'utilisez pas Push All Tags et ne créez pas de version de fournisseur.

Pour chaque commit ordinaire : le résumé est le sujet indiqué ; Description vide ; Modifier la validation précédente, ignorer les crochets, ajouter une signature par un auteur différent, appuyer après la validation et autoriser la validation vide ; pas de co-auteurs. Mettez en scène uniquement les fichiers nommés, puis validez les modifications dans N fichiers une fois (fichier pour un) ou Commande+Entrée comme alternative. Attendez le vrai résultat. Une leçon qui modifie explicitement ne change que cette option indiquée.

Dans la borne

Equivalent natif chez clean main :

Command · bash
git tag --annotate --no-sign v0.1.0 --message "First usable GitTree Features course checkpoint"
git cat-file -t v0.1.0
git for-each-ref --format='%(contents:subject)' refs/tags/v0.1.0
git rev-parse 'v0.1.0^{}'
git push --quiet origin refs/tags/v0.1.0
git ls-remote --tags origin refs/tags/v0.1.0 'refs/tags/v0.1.0^{}'
git status --short

--annotate a la forme courte -a (git tag -a v0.1.0 -m "message") et --message est -m ; dans tous les cas, Git stocke un objet tag avec son propre message, contrairement au git tag v0.1.0 léger.

Créer/pousser avec succès ; type et sortie du message :

Sortie
tag
First usable GitTree Features course checkpoint

Le SHA pelé est égal au produit principal réel. ls-remote renvoie les ID d'objet de balise et de validation pelés ; enregistrez ces valeurs de variables, pas les étiquettes de modèle. Le statut final est vide. Tentative distincte de duplication de nom :

Command · bash
git tag v0.1.0

Stderr réel, sortie 128 :

Sortie
fatal: tag 'v0.1.0' already exists

La balise d'origine demeure ; n'utilisez jamais -f pour masquer la collision.

Résultat

Where you end: La v0.1.0 annotée existe localement et sur l'origine nue locale, message Premier utilisable GitTree Caractéristiques du point de contrôle du cours, commit décollé H7. Principal/HEAD/index/work inchangé ; aucune version hébergée ou signature revendiquée.

Erreurs courantes

  • Appel d'une balise annotée signée.
  • Marquage de l'ancienne ligne sélectionnée au lieu de principale.
  • Pousser chaque balise locale involontairement.

Si quelque chose ne va pas

Annulez une mauvaise création avant de confirmer. Si une balise locale est erronée, inspectez sa cible réelle et vérifiez si elle a été publiée avant toute suppression explicite ; Le refus natif des doublons préserve la réf.

Vérifiez votre compréhension

Répondez à chaque question, puis lisez pourquoi. Les questions marquées « Obligatoire » comptent pour terminer la leçon.

  1. Question 1 de 6

    Qu'est-ce que la v0.1.0 ici ?

    Choisissez une réponse.

  2. Question 2 de 6

    Quelles affirmations sont justifiées ?

    Choisissez chaque réponse qui s'applique.

  3. Question 3 de 6
    Obligatoire

    Le marquage crée-t-il un autre commit principal ?

    Choisissez une réponse.

  4. Question 4 de 6
    Obligatoire

    Réutiliser le même nom sans forcer : résultat ?

    Choisissez une réponse.

  5. Question 5 de 6

    Les identifiants de balise et principaux diffèrent : corrompu ?

    Choisissez une réponse.

  6. Question 6 de 6
    Obligatoire

    Qu'est-ce qui prouve le résultat ?

    Choisissez chaque réponse qui s'applique.

0 sur 6 corrects

Répondez correctement aux questions requises pour terminer la leçon.

Vérifié dans ce navigateur.

Pratique

Vérifiez la balise de type d'objet, l'annotation exacte, SHA=main pelé et les deux couches de balises du serveur. Prévoyez les refus en double tout en préservant la première balise et un travail propre.

Votre propre confirmation : le site ne peut pas voir votre ordinateur.

Pour terminer la leçon, répondez correctement aux questions demandées et confirmez l'exercice pratique.

Récapitulatif

  • L'annotation ajoute un objet tag.
  • Poussez uniquement la balise choisie.
  • Les balises Git et les versions hébergées diffèrent.

Termes du glossaire introduits

Balise annotée — وسم مشروح ; balise légère — وسم خفيف; tagger — منشئ الوسم; commit pelé — الإيداع المحسوم.

Transcription vidéo

La narration de la vidéo, repère par repère.

Afficher la transcription
  1. Commencez par le point de contrôle exact.
  2. Nommez la branche, indexez et version de travail.
  3. Préparez uniquement la copie de cours isolée.
  4. Choisissez le commit exact avant de marquer.
  5. Créez une balise annotée lors de cette validation.
  6. Écrivez le nom et une annotation significative.
  7. L'annotation ne signifie pas signature cryptographique.
  8. Une balise ne change pas de branche.
  9. Poussez uniquement la balise nommée.
  10. Décollez la balise pour vérifier sa validation.
  11. N'inventez pas une version hébergée.
  12. Qu'est-ce que la v0.1.0 ici ?
  13. Le type d'objet vérifié est étiquette et elle se décolle jusqu'au principal.
  14. Quelles affirmations sont justifiées ?
  15. L'annotation non signée ajoute métadonnées mais ne bouge pas HEAD.
  16. Le marquage crée-t-il un autre commit principal ?
  17. La balise ref/object pointe à un commit existant.
  18. Réutiliser le même nom sans forcer : résultat ?
  19. La tentative de duplication mesurée exited128 et conservé la balise.
  20. Les identifiants de balise et principaux diffèrent : corrompu ?
  21. L'objet propre d'une balise annotée diffère de sa cible de validation.
  22. Qu'est-ce qui prouve le résultat ?
  23. Lisez les deux calques d'objets et la réf. du serveur réellement choisi.
  24. Vérifiez le résultat réel, pas seulement un message.
  25. Prévoyez l’entrée modifiée avant d’agir.
  26. Préserver le travail utile avant la récupération.
  27. Prouvez le point de contrôle avant de continuer.
  28. Conserver le résultat vérifié pour la prochaine étape.