Si vous voulez juste trouver le commit le plus récent, alors vous ne voulez pas git-log
, vous voulez git-rev-list
, qui répertorie les objets de commit modifiant ce fichier, dans ce chemin de commit, en commençant par le plus récent (chronologiquement). Tout simplement:
git rev-list -1 <commit> <filename>
Car git-rev-list
dans votre cas, il vous suffit de fournir:
- Le nombre de commits à inclure, ou -1 pour le plus récent,
- La branche (ou l'identifiant de validation) à partir de laquelle commencer à regarder en arrière, HEAD si vous y êtes déjà, ou --all si vous voulez tous les validations connues, et
- Le chemin relatif de votre fichier.
Cela renvoie simplement l'ID de validation le plus récent dans la branche actuelle pour modifier ce fichier, ex: 215095e2e338525be0baeeebdf66bfbb304e7270
Pour un exemple plus complexe, vous pouvez utiliser des noms de balises, et même des références distantes, et inclure des noms de chemins relatifs avec des caractères génériques, par exemple:
git rev-list origin/user/bob/testbranch -1 src/bfiles/*.txt
... Ce qui vous dirait quel a été le changement le plus récent de la correspondance générique dans l'histoire de cette branche. Les options pour la liste des rév.sont extrêmes, c'est l'une des commandes de plomberie les plus importantes, vous pouvez donc inclure ou exclure selon à peu près tous les critères que vous pouvez imaginer.
Bien sûr, reportez-vous à la page de manuel de git-rev-list (1) .
--all
option.