web-dev-qa-db-fra.com

Trouver le commit où le fichier a été ajouté

Disons que j'ai un fichier foo.js qui a été commis il y a quelque temps. Je voudrais simplement trouver le commit où ce fichier a été ajouté pour la première fois.

Après avoir lu les réponses et mon propre bricolage, cela fonctionne pour moi

git log --follow --diff-filter=A --find-renames=40% foo.js
190
Steven Penny

Voici un moyen plus simple de le faire, sans passer par un pipeline:

git log --diff-filter=A -- foo.js

Vérifiez la documentation. Vous pouvez faire la même chose pour Supprimé, Modifié, etc.

https://git-scm.com/docs/git-log#Documentation/git-log.txt---diff-filterACDMRTUXB823082

J'ai un alias pratique pour cela, car je l'oublie toujours:

git config --global alias.whatadded 'log --diff-filter=A'

Cela le rend aussi simple que:

git whatadded -- foo.js
288
stelterd
git log --oneline -- foo.js | tail -n 1
15
Seth Robertson

Ce qui suit ne vous intéresse peut-être pas, mais je pense que cela vous aidera à l'avenir et fait partie de l'écosystème de débogage dans Git:

Vous pouvez utiliser git-blame pour montrer quelle révision et quel auteur ont modifié en dernier chaque ligne d'un fichier, en particulier les annotations de fichier. Visitez https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git

Par exemple,

git blame -L 174,190  xx.py
0
Reidel