Wie kann ich Dateien in Git anzeigen, die sich am häufigsten ändern?
105
Sie können den Befehl git effort
(aus dem git-extras
Paket) verwenden, der Statistiken darüber anzeigt, wie viele Commits pro Datei (nach Commits und aktiven Tagen) vorliegen.
BEARBEITEN: Git-Aufwand ist nur ein Bash-Skript, das Sie hier finden und an Ihre Bedürfnisse anpassen können, wenn Sie etwas Besonderes benötigen.
git help effort
hat keine Informationen darüber: /). Ich gehe davon aus, dass die ersten Ergebnisse nach Dateinamen und die zweiten nach Anzahl der Festschreibungen pro Datei sortiert sind. Die Manpage erwähnt auch github.com/tj/git-extras/issues , um Probleme zu meldenSie könnten Folgendes tun:
Das Protokoll gibt nur die Namen der Dateien aus, die bei jedem Commit geändert wurden, während der Rest nur die 10 am häufigsten vorkommenden Dateinamen sortiert und ausgibt.
quelle
--branches
,git log
wenn Sie Commits in eine Ihrer lokalen Filialen aufnehmen möchten.--since "1 month ago"
oder anderer Optionen, um das Zeitfenstergit log --pretty=format: --since="1 year ago" --name-only -- "*.java" | sort | uniq -c | sort -rg | head -10
Mir ist aufgefallen, dass sowohl die Antworten von Mark als auch von sehe nicht
--follow
die Dateien enthalten, dh, sie werden angehalten , sobald sie eine Umbenennung der Datei erreichen. Dieses Skript ist viel langsamer, funktioniert aber für diesen Zweck.git-most.sh
quelle
roles
Verzeichnis für meinen Fall, kann jedoch leicht an Ihren Anwendungsfall angepasst werden.Für Powershell, vorausgesetzt, Sie haben Git Bash installiert
quelle
Dies ist eine Windows-Version
dann in Excel öffnen
Pivot-Tabelle erstellen
quelle
Wenn Sie nur Ihre Dateien sehen möchten , fügen Sie
--author
zugit whatchanged --author=name --all
.quelle
Alte Frage, aber ich denke immer noch eine sehr nützliche Frage. Hier ist ein Arbeitsbeispiel in Straight Powershell. Dadurch erhalten Sie die 10 am häufigsten geänderten Dateien in Ihrem Repo in Bezug auf den Zweig, in dem Sie sich befinden.
quelle
Wir können auch herausfinden, welche Dateien zwischen zwei Commits oder Zweigen geändert wurden, z
quelle
Dies ist wahrscheinlich offensichtlich, aber die bereitgestellten Abfragen zeigen alle Dateien an. Vielleicht möchten Sie jedoch nicht wissen, dass Ihre Konfigurations- oder Projektdateien am aktuellsten sind. Ein einfacher Grep isoliert Ihre Codedateien, zum Beispiel:
quelle