Ein weiterer Aspekt, der git status
verbessert wird (in Git 2.14.x / 2.15, Q4 2017), ist, wenn auch ignorierte Dateien angezeigt werden ( git status --ignored
)
" git status --ignored
" Wenn Sie feststellen, dass ein Verzeichnis ohne verfolgten Pfad ignoriert wird, werden weiterhin alle ignorierten Pfade im Verzeichnis aufgelistet, was nicht erforderlich ist.
Der Codepfad wurde optimiert, um diesen Overhead zu vermeiden.
Siehe Commit 5aaa7fd (18. September 2017) von Jameson Miller ( jamill
) .
(Zusammengeführt von Junio C Hamano - gitster
- in Commit 075bc9c , 29. September 2017)
Verbessern Sie die Leistung von git status --ignored
Verbessern Sie die Leistung der Verzeichnislistenlogik, wenn nicht leere ignorierte Verzeichnisse aufgelistet werden sollen. Um nicht leere ignorierte Verzeichnisse anzuzeigen, durchläuft die vorhandene Logik rekursiv alle Inhalte eines ignorierten Verzeichnisses.
Diese Änderung führt die Optimierung ein, um das Durchlaufen des Inhalts zu beenden, sobald die erste Datei gefunden wurde. Dies kann die Leistung von "Git-Status - signiert" in Repositorys mit einer großen Anzahl von Dateien in ignorierten Verzeichnissen erheblich verbessern.
Ein Beispiel für den Leistungsunterschied in einem Beispiel-Repository mit 196.000 Dateien in 400 ignorierten Verzeichnissen:
| Command | Time (s) |
| -------------------------- | --------- |
| git status | 1.2 |
| git status --ignored (old) | 3.9 |
| git status --ignored (new) | 1.4 |
Weitere Verbesserungen (eingestellt in Git 2.17, Q2 2018) finden Sie in dieser Antwort .