Ich möchte eine Liste der Dateien sehen, die seit dem letzten Festschreiben geändert wurden, wie git status
gezeigt, aber ich kümmere mich nur um Dateien, die sich in einem einzelnen Verzeichnis befinden. Gibt es eine Möglichkeit, dies zu tun? Ich habe es versucht git status <directory>
, aber es scheint, dass dies etwas völlig anderes bewirkt (listet alle geänderten Dateien auf, wie es wäre, wenn ich git add <directory>
zuerst schreiben würde ).
Die Dokumentation zum Git-Status sagt nicht viel aus, abgesehen von der Tatsache, dass sie dieselben Optionen akzeptiert wie Git-Commit (aber der Zweck von Git-Commit besteht nicht darin, Listen geänderter Dateien anzuzeigen).
Der Grund, warum
git status
dieselben Optionen verwendet werden,git commit
besteht darin,git status
zu zeigen, was passieren würde, wenn Sie sich mit denselben Optionen verpflichten, an die Sie übergeben habengit status
. In dieser Hinsichtgit status
ist wirklichgit commit --preview
.Um das zu bekommen, was Sie wollen, können Sie dies tun, wobei inszenierte Änderungen angezeigt werden:
und dies, das nicht inszenierte Änderungen zeigt:
oder das, was beides zeigt:
quelle
git ls-files --others <directory_in_question>
oderls-files -o
.git ls-files -o
Zeigt Dateien in nicht bereitgestellten Verzeichnissen rekursiv an, währendgit status
nur das Verzeichnis der obersten Ebene angezeigt wird . Und man müsste die gesamte Farbcodierung usw. komponierengit diff
,git ls-files
ausgeben und neu erstellen,git status
die vorgesehen ist, wenn sie ersetzt werden sollgit status
. Ich würde auch gerne eine Lösung dafür sehen!Einfachste Lösung:
git status | grep -v '\.\.\/'
Dies verwirft natürlich Farben.
quelle
Als Hinweis, wenn Sie die Überprüfung der Git-Statistiken vereinfachen, ohne in das Git-Verzeichnis zu wechseln;
Und dieses einfache Skript aufrufen :
gitstat /path/to/foo-project
. Sie können es auch verwenden , während infoo-project
nur tun ,gitstat .
kürzer und so annehmen , alsgit status -s
,git diff --stat
odergit diff --stat HEAD
wenn Ihr immer Konsole statt GUIs verwenden.Credits:
quelle