2010-08-30 5 views
0

Mon collègue a souligné récemment que SVN se réfère à ses commits avec des numéros uniques. Si je veux faire référence à un commit dans Git, je sais que je dois juste copier quelques chiffres du SHA, mais même si un projet a des milliers de validations, un nombre croissant serait plus facile à retenir ou même à taper.Remplacer SHA de Git avec un index

Est-il possible de laisser Git lister ses commits comme ça?

0001 a258cb5 Latest commit 
0002 373a4e2 previous one 
0003 00f7c33 ... 
0004 0bbc4da ... 
0005 5b7eb09 ... 

De cette façon, vous pouvez faire référence à un engagement avec quelque chose comme HEAD~2 au lieu de 00f7c33. Bien sûr, le nombre changerait pour chaque validation effectuée, mais je me réfère rarement à des commits plus anciens, de sorte que les nombres ne seraient jamais très grands et faciles à retenir.

+0

'HEAD ~ 3' * ne * se référer à la validation de trois avant la dernière (marquée 0004 dans votre exemple). Voir la section des révisions spécifiant 'man git-rev-parse' http://www.kernel.org/pub/software/scm/git/docs/git-rev-parse.html#_specifying_revisions Donc ... sauf si la question est "comment puis-je faire" git log "le nombre de commits donc je n'ai pas à compter", je ne pense pas qu'il y ait beaucoup de question du tout! – Cascabel

Répondre

1

In git cela n'a aucun sens, car les commits ne sont pas vraiment ordonnés. Vous pouvez appliquer certains changements d'ailleurs et ensuite fusionner d'autres. Je suppose que cela s'applique à tout logiciel de contrôle de version distribué.

Sauf si vous gérez votre propre liste générée à partir de l'historique, je crains que ce ne soit pas possible.

Si vous recherchez un moyen plus lisible d'identifier de manière unique un changement (pas un nombre mais une chaîne qui est conviviale), vous pouvez utiliser la sortie de git describe. Le format est:

last tag - # of commits since tag - g.id 
Questions connexes