Angenommen, ich habe eine Datei foo.js
das wurde vor einiger zeit begangen. Ich möchte einfach das Festschreiben finden, in dem diese Akte zuerst hinzugefügt wurde.
Nachdem ich die Antworten gelesen und selbst gebastelt habe, funktioniert das für mich
git log --follow --diff-filter=A --find-renames=40% foo.js
Hier ist eine einfachere "pure Git" -Methode, für die keine Pipeline erforderlich ist:
git log --diff-filter=A -- foo.js
Überprüfen Sie die Dokumentation. Sie können dasselbe für "Gelöscht", "Geändert" usw. tun.
https://git-scm.com/docs/git-log#Documentation/git-log.txt---diff-filterACDMRTUXB823082
Ich habe einen nützlichen Alias dafür, weil ich ihn immer vergesse:
git config --global alias.whatadded 'log --diff-filter=A'
Das macht es so einfach wie:
git whatadded -- foo.js
git log --oneline -- foo.js | tail -n 1
Das Folgende ist möglicherweise nicht von Ihrem Interesse, aber ich denke, es wird Ihnen in Zukunft helfen und ist Teil des Debugging-Ökosystems in Git:
Sie können git-blame
, um anzuzeigen, welche Revision und welcher Autor die einzelnen Zeilen einer Datei zuletzt geändert haben, insbesondere die Dateianmerkung. Besuchen Sie https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git
Beispielsweise,
git blame -L 174,190 xx.py