Voici une façon plus simple, "purement Git", de le faire, sans avoir besoin de 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-filterACDMRTUXB82308203
J'ai un alias pratique pour cela, car je l'oublie toujours :
git config --global alias.whatadded 'log --diff-filter=A'
C'est aussi simple que cela :
git whatadded -- foo.js
L'exemple ci-dessous permet d'effectuer une recherche récursive dans les sous-répertoires du fichier $PWD
para foo.js
sans qu'il soit nécessaire de fournir un chemin d'accès absolu ou relatif au fichier, ni que le fichier se trouve dans le même répertoire que l'élément de commande. $PWD
git log --diff-filter=A -- **foo.js
1 votes
C'est mieux que toutes les réponses, car il trace les fichiers renommés.
0 votes
Je pense qu'il y a des cas limites où cela peut retourner plus d'un résultat, par exemple lorsqu'un fichier est ajouté puis supprimé et ajouté à nouveau dans un autre commit (c'est-à-dire pas un renommage). La réponse de Seth Robinson semble gérer ces cas.
1 votes
Par curiosité, comment avez-vous choisi les 40 % pour
--find-renames
? Il semble que cela fonctionne très bien pour moi et j'en ai récupéré quelques-uns.--follow
ne l'a pas fait, juste par curiosité...