Nous sommes nouveaux dans git, et je veux définir une balise au début de notre référentiel. Notre code de production est le même que le dépôt de départ, mais nous avons effectué des commits depuis lors. Une balise au début nous permettrait de "faire reculer" la production à un état stable connu.
Alors, comment ajouter une balise à un commit arbitraire et plus ancien?
git
version-control
git-tag
hogsolo
la source
la source
Réponses:
Exemple:
Où se
9fceb02
trouve la première partie de l'ID de validation.Vous pouvez ensuite pousser la balise à l'aide de
git push origin v1.2
.Vous pouvez faire
git log
pour afficher tous les ID de validation dans votre branche actuelle.Il y a aussi un bon chapitre sur le balisage dans le livre Pro Git.
Avertissement: cela crée des balises avec la date actuelle (et cette valeur est ce qui s'affichera sur une page de versions de GitHub, par exemple). Si vous souhaitez que la balise soit datée de la date de validation, veuillez consulter une autre réponse .
la source
-a
et les-m "Message here"
parties si vous ne voulez pas ajouter de message:git tag v1.2 9fceb02
-a
et-m
. La page de manuel semble indiquer qu'elle-a
est implicite lorsqu'elle-m
est utilisée.git push --tags origin master
pousserait toutes les balises de la branche locale à distance. Préférezgit push origin <tag_name>
simplement pousser la balise créée. Voir: stackoverflow.com/a/5195913/452708 , git-scm.com/book/en/v2/Git-Basics-TaggingJuste le code
Détails
La réponse de @dkinzer crée des balises dont la date est la date actuelle (lorsque vous avez exécuté la
git tag
commande), et non la date de la validation. L'aide de Gittag
contient une section "Sur les balises antidatées" qui dit:La page "Comment baliser dans Git" nous montre que nous pouvons extraire l'heure du commit HEAD via:
Nous pourrions extraire la date d'un commit spécifique via:
Cependant, au lieu de répéter le commit deux fois, il semble plus facile de simplement changer le HEAD en ce commit et de l'utiliser implicitement dans les deux commandes:
la source
La façon la plus simple de le faire est:
avec
f4ba1fc
être le début du hachage du commit que vous voulez étiquette etv1.0.0
être la version que vous souhaitez marquer.la source
Utilisez la commande:
Où v1.0 est le nom de la balise et ec32d32 est la validation que vous souhaitez baliser
Une fois cela fait, vous pouvez pousser les balises en:
Référence:
Git (contrôle de révision): Comment puis-je baliser un point de validation précédent spécifique dans GitHub?
la source
OK , vous pouvez simplement faire:
Donc, si vous voulez ajouter la balise: 1.0.2 pour valider
e50f795
, faites simplement:Vous ajoutez également un message à la fin, en utilisant
-m
quelque chose comme ceci:Après tout, vous devez le pousser vers le
remote
, pour ce faire, faites simplement:Si vous avez plusieurs balises que vous ne voulez pas mentionner une par une, faites simplement:
pour regrouper toutes les balises ...
De plus, j'ai créé les étapes dans l'image ci-dessous, pour plus de clarification des étapes:
Vous pouvez également dd le tag dans Hub ou en utilisant des outils comme SourceTree , pour éviter les étapes précédentes, je me suis connecté à mon Bitbucket dans ce cas et je le fais à partir de là:
No tags
et cliquez sur l'+
icône:la source
C'est une vieille question, et les réponses ont déjà donné tout le travail, mais il y a aussi une nouvelle option qui peut être envisagée.
Si vous utilisez SourceTree pour gérer vos référentiels git, vous pouvez cliquer avec le bouton droit sur n'importe quel commit et y ajouter une balise. Avec un autre clic de souris, vous pouvez également envoyer le tag directement à la branche d'origine.
la source
S'appuyant sur les réponses des autres, voici une solution à une ligne qui définit la date de la balise au moment où elle s'est réellement produite, utilise la balise annotée et ne nécessite pas
git checkout
:où
tag
est défini sur la chaîne de balise souhaitée etcommit
sur le hachage de validation.la source
La réponse de @Phrogz est excellente, mais ne fonctionne pas sous Windows. Voici comment marquer un ancien commit avec la date d'origine du commit à l'aide de Powershell:
la source