Ist es möglich, nur geänderte Dateien auf Status zu setzen?

Ist es möglich, zugit status und nur geänderte Dateien anzeigen?

Das Problem ist, dass ich zu viele bereitgestellte Dateien habe, die ich im Moment nicht festschreiben oder gitignore möchte, und ich kann nicht nach oben scrollen. Ich habe ein Scrollback-Limit für Ubuntu eingestellt.

 Lily Ballard04. Apr. 2012, 22:16
Wie hast du ein Scrolllimit? Standardmäßig,git status ruft den Pager auf.
 torek04. Apr. 2012, 22:26
Stimmt etwas nicht, wenn Sie nur nach dem greifen, was Sie interessant finden? Benutzen--short oder--porcelain um einzeilige Versionen des Status zu erhalten.
 chrisjlee04. Apr. 2012, 22:20
Leider ist das Scrollback-Limit auf meinem Computer auf 512 Zeilen eingestellt. Ich denke, ich könnte es ändern; Ein einzeiliger Befehl wäre jedoch vorzuziehen, um nur geänderte Dateien im Status anzuzeigen, da GD / imagecache schließlich noch mehr Dateien generiert.
 Lily Ballard04. Apr. 2012, 22:26
Richtig ... Mein Punkt ist, dass der Pager den Scrollback Ihres Terminals nicht verwendet.
 torek04. Apr. 2012, 22:36
Ein weiterer Punkt, basierend auf dem Vorschlag zu verwendengit ls-files -m: Welche Modifikation (en) interessieren Sie, inszeniert, nicht inszeniert oder beides?

Antworten auf die Frage(11)

git diff --name-only --diff-filter=M

 ZeroGraviti30. Dez. 2016, 19:29
Siehe addnl diff filter flag .....
 qwertzguy30. Jan. 2018, 02:17
Ich empfehle diese Filter:git diff --cached --name-only --diff-filter=ACMR welche Dateien hinzugefügt, kopiert, geändert und umbenannt.

dass folgende Dateien geändert wurden:

<code>git status -uno
</code>
 pprzemek01. Apr. 2019, 15:29
git status -uno --porcelain Fügt eine nette Ausgabe für das Parsing-Skript hinzu

git status -uno zeigt Ihnen nur Dateien an, die git verfolgt, ohne etwas anderes im Verzeichnis anzuzeigen. Nicht genau das, wonach Sie gefragt haben, aber vielleicht erreichen Sie das Gleiche (Abrufen einer Liste mit Dateien in lesbarer Länge, die Tracks enthalten).

 mxxk12. Sept. 2014, 23:03
@ TomNysetvold, du meinst vielleicht tatsächlichgit status -uno (stackoverflow.com/questions/7008546/…)
 mxxk12. Sept. 2014, 22:59
git status -u no zeigt weder (1) verfolgte Dateien, die geändert wurden, noch (2) verfolgte Dateien, die bereitgestellt wurden. Ich habe dies mit den Git-Versionen 1.8.5.2 und 1.9.4 überprüft.

Für geänderte Dateien:

<code>git status | grep modified:
</code>
 Richard Parnaby-King12. Jan. 2016, 12:23
So nützlich, dass ich einen Alias ​​dafür erstellt habe:git config --global alias.modified '!git status | grep modified:'

git diff --name-only funktioniert auch.

git cola. Es ist ein einfacher und eleganter Benutzeroberflächen-Client, der Ihnen die geänderten Dateien anzeigt und Ihnen einen Eindruck von den vorgenommenen Änderungen vermittelt.

git cola bietet Ihnen eine grafische Benutzeroberfläche, in der Sie visualisieren können, welche Dateien Sie geändert, welche inszeniert und auch welche nicht nachverfolgt haben. Ihre Frage war, nur Git-Status zu verwenden, glaube ich, aber ich dachte, Git Cola kann helfen, wenn dies und andere Dinge auch. Überprüfen Sie diese Webseite von mehr Info:git-cola.github.com/screenshots.html

 ziyuang13. Okt. 2014, 16:21
Wie ändere ich die Sprache der Benutzeroberfläche von Cola?
 chrisjlee05. Apr. 2012, 05:10
Könnten Sie angeben, wie sich das auf meine Antwort bezieht, da ich mit dieser Cola nicht vertraut bin? z.B. Screenshots oder mehr Details?
 n_x_l05. Apr. 2012, 17:07
Warum wurde es abgelehnt? :) Wie auch immer, Git Cola bietet Ihnen eine GUI, in der Sie visualisieren können, welche Dateien Sie geändert haben, welche Sie inszeniert haben und auch welche, die Sie nicht verfolgen. Ihre Frage war, nur Git-Status zu verwenden, glaube ich, aber ich dachte, Git Cola kann helfen, wenn dies und andere Dinge auch. Überprüfen Sie diese Webseite von mehr Info:git-cola.github.com/screenshots.html

geändert Dateien, die Sie dies tun könnten:

git log -n1 --oneline --name-status | grep '^M'

Lösung für das Problem

git status, aber du könntest es gebrauchengit ls-files -m um alle geänderten Dateien anzuzeigen.

 K. Alan Bates18. Jan. 2016, 20:53
Genauer gesagt bezieht sich die Erwähnung von ungenauen Informationen nur auf Ihre erste Klausel, die besagt, dass Sie dies nicht tun könnengit statusMsgstr "" "Sie können den Git - Status so einstellen, dass nur geänderte Dateien mit grep zurückgegeben werden. Natürlich Ihr Vorschlagls-files -m wird gut funktionieren; Es ist einfach nicht so ausdrucksstark, meiner Meinung nach.
 thdoan18. Jan. 2019, 22:15
Wie bereits erwähnt, werden hier nur nicht bereitgestellte Dateien angezeigt. Wenn Sie sowohl nicht bereitgestellte als auch bereitgestellte Dateien anzeigen möchten, ist dies die beste Antwort, die ich gesehen habe:stackoverflow.com/a/39994894/452587
 Lily Ballard19. Jan. 2019, 23:15
@thdoan Es gibt eine Reihe von Optionen zum Anzeigen von bereitgestellten Dateien, obwohl diese bestimmte Frage offenbar bereitgestellte Dateien explizit ausschließen soll.git diff --name-only --diff-filter=M HEAD Es werden nur geänderte Dateien sowohl für bereitgestellte als auch für nicht bereitgestellte Dateien angezeigt, obwohl Sie die Dokumente überprüfen sollten--diff-filter um zu sehen, welche anderen Filtertypen Sie hinzufügen möchten.
 K. Alan Bates18. Jan. 2016, 18:00
Dies ist zwar die akzeptierte Antwort, sie enthält jedoch ungenaue Informationen. Sie können mit "Git-Status" nur geänderte Dateien "git status | grep modified so wie es user23186 in ihrer antwort angibt.
 Gerry15. Apr. 2015, 12:19
Nur damit andere wissen, werden hier nur Dateien angezeigt, die geändert wurden, aber noch nicht bereitgestellt wurden.
 Sandeepan Nath05. Mai 2016, 13:41
Für mich,git ls-files -m zeigt nichts abergit status | grep modified funktioniert.
 U007D03. Mai 2013, 23:05
Git Status -uno funktioniert auch.
 alhelal05. Dez. 2017, 06:28
@ KevinBallard Kannst du alle Optionen gebengit ls-files?
 alex.jordan01. Sept. 2015, 09:08
Dies zeigt geänderte Dateienund gelöschte Dateien.
 Lily Ballard18. Jan. 2016, 20:02
@K.AlanBates Meine Antwort ist richtig. Ihr Befehl wird nicht ausgeführtgit status Nur für geänderte Dateien wird es ausgeführtgit status auf alles und dann mit einem separaten Tool, um die unerwünschten Informationen wegzuwerfen. Ihre Antwort wird auch nicht funktionieren, wenn der Benutzer die Git-Konfigurationseinstellung hat, um immer den Kurzmodus zu verwenden. Ein genauerer Vorschlag wäre gewesengit status -s | grep '^.M'Aber auch das ist nur ein schlechter Weg, um dasselbe zu erreichen wiegit ls-files -m.

Um die geänderten Dateien aufzulisten, verwenden Sie:

<code>git ls-files -m
</code>

Wenn Sie nur den Basisnamen (keinen Pfad) möchten, können Sie jedes Ergebnis mit xargs Zeile für Zeile an den Basisnamen-Befehl weiterleiten:

<code>git ls-files -m | xargs -L 1 basename
</code>
<code>git status -s | awk '{if ($1 == "M") print $2}'
</code>
 C0DEF5210. Mai 2018, 13:57
Nicht so gut, wenn der Pfad Leerzeichen enthält
 Calpau03. Sept. 2015, 17:35
Oderawk '$1 == "M" { print $2 }'

<code>git show --stat --oneline HEAD
</code>

Ihre Antwort auf die Frage