Git-Liste von Dateien mit mehr als 'n' Änderungen des letzten Commits in Bezug auf den aktuellen Dirty-Status

437
Nikhil

Mit einem riesigen Repository wird es schwierig, Änderungen nachzuverfolgen.

GithubZeigt eine Statistik pro Datei an (Gesamtanzahl der geänderten Zeilen; enthält auch Hinzufügen oder Löschen). Können wir diese Statistik (nur eine Nummer) pro Datei für alle Dateien (des Repositorys) im Dirty-Zustand (nicht festgeschrieben und nicht bereit) in Bezug auf das letzte Commit lokal im Terminal auflisten?

1

1 Antwort auf die Frage

1
A.H.

Nicht direkt - die beste Annäherung ist

git diff --numstat 

Daraus ergeben sich zwei Zahlen: die Anzahl der hinzugefügten und gelöschten Zeilen. Sie können diese beiden Zahlen wie folgt addieren:

git diff --numstat | awk -F '\t' '' 

Der Vergleich wird zwischen dem Arbeitsbaum und dem Index durchgeführt. Sie können optional die diffOption --cachedfür den Vergleich zwischen Index und Kopf und nur HEADfür den Vergleich zwischen Kopf und Kopf hinzufügen . Aber "Arbeitsbaum vs. Kopf minus Index" - so wie ich Ihre Frage verstehe - ist nicht möglich.

Die vollständigen Befehle sind also:

git diff --numstat --cached | awk -F '\t' '' git diff --numstat HEAD | awk -F '\t' '' 
In diesem `git diff --numstat | awk -F '\ t' '' ', müssen wir den Dateinamen angeben oder wir müssen ihn nur irgendwo am Repository-Speicherort ausführen Nikhil vor 6 Jahren 0
Standardmäßig zeigt git Ihnen alle geänderten Dateien an. A.H. vor 6 Jahren 0
`git status` zeigt 2 gelöschte Dateien. "git diff --numstat" zeigt nichts Nikhil vor 6 Jahren 0
Ah, gelöschte Dateien werden tatsächlich nicht in "--numstat" angezeigt, nur gelöschte Zeilen. A.H. vor 6 Jahren 0
Das liegt daran, dass sich gelöschte Dateien bereits im Index befinden. Sie müssen also in diesem Fall die Variante mit "HEAD" verwenden. A.H. vor 6 Jahren 1