2012-01-23 4 views
7

Je suis en train d'éditer un projet avec git sur plusieurs ordinateurs. Comment puis-je vérifier la version actuelle que je cours sur un ordinateur? Par exemple, chaque fois que je valide, j'utilise un numéro de version et l'inclue dans le message de validation. Est-il possible de récupérer le message de validation actuel pour la copie de travail que j'utilise?Git - Copie de travail en cours Version

Répondre

8

Git n'a pas de concept de «numéro de révision». Il a un hash de commit. Vous ne connaîtrez pas votre hachage de validation tant que vous ne l'avez pas réellement activé, vous ne pouvez donc pas obtenir le "hachage actuel". Si vous voulez le hash de validation du commit précédent, utilisez git log -1. Si vous avez besoin de la sortie juste le hachage, alors la réponse de xpapad est ce que vous cherchez.

Si vous voulez dire la version actuelle de Git (votre question était un peu ambigu pour moi), alors utilisez git version.

+0

Désolé pour l'ambiguïté, permettez-moi de réessayer ... chaque fois que je commets dans Git, j'ajoute un numéro de version comme message de validation. Ensuite, sur une machine différente, je tire ce code dans ma zone de travail. Y a-t-il une commande que je peux exécuter pour voir le message (et ensuite le numéro de version que j'ai inclus) du dernier commit que j'ai retiré? –

+0

@fishpig Si tout ce que vous voulez faire est de voir le message de commit pour HEAD, vous pouvez utiliser 'git log HEAD --pretty = format:% s' – vcsjones

+0

merci, cela l'a fait –

17

Vous pouvez utiliser git rev-parse TÊTE

Si vous utilisez Maven pour construire vos projets, envisagez d'utiliser le plug-in SCM maven, voir:

http://maven.apache.org/scm/git.html

+0

Une chose intéressante à ce sujet que je n'ai pas attendre à l'origine, c'est que cela fonctionne même dans un état de tête détaché. La raison en est essentiellement que lorsque vous êtes dans un état de tête détaché, votre copie de travail ne pointe pas sur un point dans une branche, elle pointe juste sur un commit particulier, qui peut être dans plusieurs branches ou pas. Ainsi, dans cette situation, le HEAD se réfère simplement à ce commit particulier, et non à la HEAD de n'importe quelle branche à laquelle il pourrait appartenir. –

1

Il ressemble vous voulez git-décrire. C'est la chose close que Git a à un numéro de version monotone.

Questions connexes