Wie öffne ich alle gelöschten, modifizierten und erstellten Dateien seit der letzten git commit, versuchte ich zuerst git status
, aber es war schwierig zu parsen, so dass ich fand git status --porcelain
war leichter zu parsen und mit awk + vim + etwas bash Magie es war einfach zu machen.Wie öffne ich alle modifizierten Dateien mit git?
Antwort
So fand ich die Lösung mit vim
:
vim $(git status --porcelain | awk '{print $2}')
Und poste ich diese Frage + Antwort einfach, es selbst zu beantworten und an das
Backticks sind veraltet –
@JID [Nö.] (Http://unix.stackexchange.com/a/126928/5381) –
@HolgerJust Sie haben eine Antwort auf diese Stiche zitiert, die nichts wirklich beweist. Aber egal, auch wenn sie nicht veraltet sind, sie sind veraltet und haben absolut keinen Vorteil gegenüber $(), während $() 'viele Vorteile für sie hat. Der einzige Grund, sie jemals zu benutzen, ist die Kompatibilität mit einem alten Bourne Shells. Auch wenn Sie den Top-Kommentar für diesen Beitrag lesen, bin ich der gleichen Meinung. –
git ls-files --modified --deleted --others -z | xargs -0 vim
Ich bekomme Tonnen von Dateien aus 'tmp /', die in meinem '.gitignore' sind. – Dorian
Ich würde' git ls-files -o -m --exclude-standard' vorschlagen, um modifizierte und neue Dateien zu öffnen, aber ausschließen ignoriert. Auch für mich funktioniert die 'xargs' Lösung nicht mit vim (es leitet alle Dateinamen als eine Zeichenkette an vim als neue Datei und blockiert die Terminaleingabe), während' vim $() 'gut funktioniert. – ruuter
Von diesen blog Internet gemeinsam nutzen, können Sie kann bearbeiten ~/.gitconfig
und fügen Sie diese Zeile hinzu:
[alias]
edit = !$EDITOR $(git status --short | awk '$1 ~ /^M|A|U/ {print $2}')
Jetzt öffnet git edit
alle geänderten Dateien
Die Verwendung von '--porcelain' ist wahrscheinlich besser, da die Ausgabe unabhängig von der Konfiguration gleich ist ... – edi9999
@ edi9999' --porcelain' ist nicht relativ zum aktuellen Arbeitsverzeichnis, was ein guter Grund dafür sein kann Verwenden Sie stattdessen '--short'. –
+1 für git alias, aber für Git-Befehl würde ich lieber 'git ls-files -o -m --exclude-standard' verwenden, der auch neue Dateien enthält und keinen awk-Schritt erfordert. – ruuter
Damit dies funktioniert, wenn ich in einem Unterordner des Git Repos bin, verwende ich einfach die Option -s, um den Status zu gittieren. Die Vim-Option -O öffnet die Dateien in vertikaler Aufteilung.
vim -O $(git status -s | awk '{print $2}')
Sie möchten das Flag "-p" anstelle von "-O" im Befehl vim verwenden, um sie in den Registerkarten zu öffnen, da Ihr vim-Bildschirm mit Unterteilungen geclustert wird, wenn Sie mehr als 2 geänderte Dateien haben. – betoharres
- 1. git difftool mit nur modifizierten Dateien
- 2. GIT Liste der neuen/modifizierten/gelöschten Dateien
- 3. Wie kopiert man alle heute modifizierten Dateien mit ANT-Skript?
- 4. Wie verbinde ich zwei Git-Repos ohne einen gemeinsamen Stamm, wo alle modifizierten Dateien gleich sind?
- 5. Wie öffne ich alle SDcard-Dateien in Android?
- 6. Wie öffne ich VCE-Dateien?
- 7. Wie öffne ich alle Dateien in einem Verzeichnis in Python?
- 8. Git: git Kasse mit modifizierten Arbeitsbaum und Index
- 9. Wie öffne * .sdf Dateien?
- 10. Git nur alle neuen Dateien hinzufügen, nicht modifizierte Dateien
- 11. Wie alle Dateien manuell in Git zusammenführen?
- 12. Wie öffne ich Github für Windows Git Shell mit Rechtsklick?
- 13. Liste alle Dateien mit einem Git-Attributsatz
- 14. Git: alle verfolgten Dateien auflisten
- 15. Wie öffne ich alle Lesezeichen eines Ordners mit vimperator?
- 16. Wie öffne ich verschiedene Dateien mit AndroidAsync Http Server?
- 17. Wie öffne ich Dateien, die mit UIDocumentPicker importiert wurden?
- 18. Wie öffne ich Dateien in Intellij-IDEA mit Doppelklick?
- 19. Wie öffne ich Dateien mit erhabenem Text 3 vom Terminal?
- 20. Wie öffne ich die Git GUI von einem Befehlsfenster?
- 21. Firebird - alle modifizierten Felder innerhalb eines Triggers
- 22. Wie „split“ Dateien mit git
- 23. Git: automatisch alle Dateien unter einem Verzeichnis
- 24. Git ignoriert alle minimierte suffixed Dateien
- 25. GIT: Ich möchte alle Dateien unstage ein bestimmtes Muster
- 26. Wie listet man alle modifizierten Dateien in einem Shadow-Volume auf?
- 27. Entpacken Sie alle Dateien auf git
- 28. Alle Dateien für git commit entfernen?
- 29. Wie öffne ich einen Remote-Ordner, um alle Dateien innerhalb von winscp/cyberduck zu bearbeiten?
- 30. Eclipse und EGit: Wie man Änderungen an ALLE modifizierten Dateien einfach überprüft, bevor sie an * local * repository übergeben wird
Was bedeutet es überhaupt, eine gelöschte Datei zu öffnen? – unwind
zB: 'a.rb' wurde gelöscht,' vim a.rb' wird eine leere Datei öffnen, speichern wird eine leere Datei erstellen, nichts tun wird nur nützlich sein, um festzustellen, dass die Datei gelöscht wurde – Dorian