Come aprire tutti i file cancellati, modificati e creati dall'ultimo commit Git, ho provato ad usare prima git status
, ma era difficile da analizzare, quindi ho trovato git status --porcelain
era più facile da analizzare e con awk + vim + un po 'di magia bash era facile da fareCome aprire tutti i file modificati con git?
risposta
Così, ho trovato la soluzione con vim
:
vim $(git status --porcelain | awk '{print $2}')
E ho posto questa domanda + rispondo solo per rispondere a me stesso e condividerla a internet
I backtick sono deprecati –
@JID [Nope.] (Http://unix.stackexchange.com/a/126928/5381) –
@HolgerJust Hai citato una risposta su questo punto, che in realtà non prova nulla. Ma a prescindere, anche se non sono deprecati, sono obsoleti e non hanno assolutamente alcun vantaggio su '$()' considerando che '$()' ha molti vantaggi su di essi. L'unica ragione per usarli è la compatibilità con una vecchia Bourne Shell. Anche se leggi il commento più importante per quel post, sono della stessa opinione. –
git ls-files --modified --deleted --others -z | xargs -0 vim
Ottengo tonnellate di file da 'tmp /' che sono nel mio '.gitignore' – Dorian
Suggerisco' git ls-files -o -m --exclude-standard' per aprire file modificati e nuovi, ma escludere ignorati. Inoltre, per me la soluzione 'xargs' non funziona con vim (convoglia tutti i nomi dei file come una stringa per vim come nuovo file e blocca l'input del terminale), mentre' vim $() 'funziona bene. – ruuter
Da questo blog, è possibile modificare ~/.gitconfig
e aggiungere questa riga:
[alias]
edit = !$EDITOR $(git status --short | awk '$1 ~ /^M|A|U/ {print $2}')
Ora, git edit
aprirà tutti i file modificati
L'uso di '--porcelain' è probabilmente migliore, perché l'output sarà lo stesso indipendentemente dalla configurazione, ... – edi9999
@ edi9999' --porcelain' non è relativo alla directory di lavoro corrente, che potrebbe essere un valido motivo per usa '--short' invece. –
+1 per git alias, ma per il comando git preferisco usare 'git ls-files -o -m --exclude-standard', che include anche nuovi file e non richiede il passaggio awk. – ruuter
Per fare in modo che funzioni in una sottocartella del repository git, uso semplicemente l'opzione -s per git status. L'opzione Vim -O apre i file in split verticale.
vim -O $(git status -s | awk '{print $2}')
Si vorrebbe usare il flag '-p' invece di' -O' nel comando vim per aprirli nelle schede, perché se si hanno più di 2 file modificati la schermata di vim sarà raggruppata in cluster con le divisioni. – betoharres
- 1. Egit mostra tutti i file come modificati
- 2. Git aggiunge tutti i file modificati, cancellati e non tracciati?
- 3. git: mostra tutti i file modificati tra due commit
- 4. git difftool con solo file modificati
- 5. Git aggiungi solo tutti i nuovi file, non i file modificati
- 6. git che contrassegna i file non modificati come modificato
- 7. Lista tutti i file modificati con lo status di cambio tra Git impegna (aggiunto, modificato, cancellato)
- 8. Git che mostra file identici come modificati
- 9. git checkout tutti i file
- 10. Come elencare tutti i file modificati in un volume shadow?
- 11. Git pre-commit hook: file modificati/aggiunti
- 12. git: elenca solo i file modificati per tutte le armature
- 13. Stile di commit Git: tutti i file modificati in una volta o uno alla volta?
- 14. git - elenco di tutti i file modificati ma non cancellati in un commit
- 15. Git recuperare un elenco di tutti i file modificati in un ramo
- 16. Esportare/archiviare i file modificati solo in Git
- 17. Configura tutti i file modificati su Github in Netbeans
- 18. git: elenca tutti i file aggiunti/modificati in un giorno (o settimana/mese ...)
- 19. Linux tutti i file della cartella modificati ieri
- 20. Maven compilatore ricompilazione di tutti i file modificati invece
- 21. Elenca i nomi di file modificati in un git stash
- 22. è possibile `git status` solo i file modificati?
- 23. Come "ripristinare" i file non modificati con mercurial?
- 24. Rimuovere tutti i file per git commit?
- 25. Git ignorando tutti i file con suffisso minified
- 26. Ignora tutti i file con lo stesso nome in git
- 27. Come archiviare/esportare tutti i file modificati da una revisione specifica con Mercurial?
- 28. git Stash e modificati Hunk
- 29. Git: elenca tutti i file tracciati
- 30. Scarica il repository Git senza tutti i file .git?
Che cosa significa anche aprire un file cancellato? – unwind
ad es .: 'a.rb' è stato eliminato,' vim a.rb' aprirà un file vuoto, salvandolo creerà un file vuoto, non fare nulla sarà utile per notare che il file è stato cancellato – Dorian