2522 votes

Impossible de démonter ce partage. Le point de montage est vide.

Je suis actuellement occupé à la migration loin de la versioncontrol partie de Team Foundation Server pour Git. (Pourquoi je suis loin de la migration est une autre histoire ;^) Cependant, je tiens à conserver (pour l'instant) la capacité de relier Git révisions pour les workitems stockées dans TFS.

J'ai déjà écrit un outil (à l'aide d'un crochet à partir de Git) dans lequel je peux injecter workitemidentifiers dans le message de Git ensemble de modifications.

Cependant, je tiens également à stocker l'identifiant de la commande Git commit (le hash) dans un personnalisé TFS workitem champ. De cette façon, je peux examiner un workitem dans TFS et voir ce que Git les révisions sont associées avec le workitem.

Comment puis-je récupérer facilement le hachage du courant s'engager à partir de Git?

3693voto

Jakub Narębski Points 87537

À son tour arbitraire prolongée référence de l'objet en SHA-1, utilisez simplement la commande git-rev-parse, par exemple

git rev-parse HEAD

ou

git rev-parse --verify HEAD

Note: Si vous souhaitez activer les références (les branches et les tags) en SHA-1, il y a git-show-ref et git-pour-chaque-réf.

531voto

outofculture Points 1282

Si vous voulez seulement le raccourci de hachage:

git log --pretty=format:'%h' -n 1

De plus, l'utilisation de %H est une autre façon d'obtenir le long de hachage.

190voto

Paul Pladijs Points 3630

Un autre, à l'aide de la commande git log:

git log -1 --format="%H"

C'est très similaire à la de @outofculture bien qu'un peu courte.

91voto

Deestan Points 7298

Pour être complet, puisque personne n'a suggéré qu'il était encore. .git/refs/heads/master est un fichier qui contient une seule ligne: le hachage du dernier commit sur master. Vous pouvez donc le lire à partir de là.

Ou, comme la commande:

cat .git/refs/heads/master

Mise à jour:

Notez que git prend désormais en charge le stockage d'une partie de la tête refs dans le pack-réf fichier au lieu d'un fichier dans le /refs/heads/ dossier. https://www.kernel.org/pub/software/scm/git/docs/git-pack-refs.html

60voto

John Tyree Points 360

Il y a toujours git describe . Par défaut, il vous donne --

john@eleanor:/dev/shm/mpd/ncmpc/pkg (master)$ git describe 
release-0.19-11-g7a68a75

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X