Fondamentalmente, non voglio vedere il contenuto modificato, solo i nomi di file e numeri di riga.Posso far sì che git diff mostri solo i nomi dei file e i numeri di riga modificati?
risposta
Nota: se sei solo cercando i nomi di file modificati (senza i numeri di riga per le linee che sono stati cambiati), that's easy, click this link to another answer here.
Non c'è alcuna opzione built-in per questo (e non credo che sia tutto ciò che utile sia), ma è possibile farlo in git, con l'aiuto di un "diff esterno" script.
Ecco una bella schifosa; spetterà a te sistemare l'output nel modo che preferisci.
#! /bin/sh
#
# run this with:
# GIT_EXTERNAL_DIFF=<name of script> git diff ...
#
case $# in
1) "unmerged file [email protected], can't show you line numbers"; exit 1;;
7) ;;
*) echo "I don't know what to do, help!"; exit 1;;
esac
path=$1
old_file=$2
old_hex=$3
old_mode=$4
new_file=$5
new_hex=$6
new_mode=$7
printf '%s: ' $path
diff $old_file $new_file | grep -v '^[<>-]'
Per i dettagli su "diff esterno" si veda la descrizione del GIT_EXTERNAL_DIFF
nel git manual page (attorno alla riga 700, abbastanza vicino alla fine).
Numeri di riga come in numero di linee modificate o numeri di riga effettivi contenenti le modifiche? Se si desidera il numero di linee modificate, utilizzare git diff --stat
. Questo ti dà un display come questo:
[[email protected]:~/newsite:master]> git diff --stat
whatever/views/gallery.py | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
Non c'è alcuna opzione per ottenere i numeri di riga delle modifiche stesse.
Stavo pensando ai numeri di riga effettivi. Grazie comunque. – wei
'gitk [nome file]' – uday
In qualche modo dubito che voglia uno strumento GUI per questo. – ThiefMaster
Così facile:
git diff --name-only
Andate e diff!
Così semplice e così buono. – Wok
Questa è la risposta che la maggior parte delle persone sta cercando quando visualizzano questa pagina (era per me). Tuttavia, non risponde alla domanda originale, che menziona specificamente i numeri di riga. –
Questa NON dovrebbe essere la risposta accettata in quanto risolve solo metà del problema, è comunque necessario stampare le righe (per ogni file) che sono state modificate. – adamwong246
So che questa è una vecchia questione, ma su Windows, questo filtra l'uscita git ai file e numeri di linea modificati:
(git diff -p --stat) | findstr "@@ --git"
diff --git a/dir1/dir2/file.cpp b/dir1/dir2/file.cpp
@@ -47,6 +47,7 @@ <some function name>
@@ -97,7 +98,7 @@ <another functon name>
per estrarre i file e le linee cambiata rispetto a quella è un po 'più di lavoro:
for /f "tokens=3,4* delims=-+ " %f in ('^(git diff -p --stat .^) ^| findstr ^"@@ --git^"') do @echo %f
a/dir1/dir2/file.cpp
47,7
98,7
- 1. Elenca i nomi di file modificati in un git stash
- 2. CVS Diff per emettere solo i file modificati?
- 3. git: elenca solo i file modificati per tutte le armature
- 4. Esportare/archiviare i file modificati solo in Git
- 5. Eliminazione dei diff per i file cancellati in git
- 6. git difftool con solo file modificati
- 7. C'è un modo per far sì che Git Flow mostri i comandi che sta eseguendo dietro le quinte?
- 8. Git aggiungi solo tutti i nuovi file, non i file modificati
- 9. Come posso far sì che OpenEars riconosca i numeri parlati su iOS?
- 10. C'è un modo per far sì che git-reflog mostri una data accanto a ogni voce?
- 11. C'è un modo per far riconoscere a Vim i numeri di riga alla fine dei nomi dei file?
- 12. git che contrassegna i file non modificati come modificato
- 13. è possibile `git status` solo i file modificati?
- 14. Come abilitare i percorsi dei file jolly per git diff?
- 15. C'è un modo per far sì che il webpack non mostri tutti i pezzi che sta compilando?
- 16. Git che mostra file identici come modificati
- 17. estensioni git singola cronologia dei file diff solo
- 18. Firebase che ospita e distribuisce solo file nuovi/modificati/modificati
- 19. Batch copia solo i file modificati
- 20. svn diff non mostra i file esterni modificati
- 21. In che modo Maven compila solo i file java modificati?
- 22. Come diff solo i file sorgente?
- 23. C'è un modo per far sì che WebStorm completi automaticamente i valori degli attributi dei tag?
- 24. Git aggiunge tutti i file modificati, cancellati e non tracciati?
- 25. Come posso ripristinare solo i file modificati su un checkout git?
- 26. Come far sì che Dapper ignori/rimuova i caratteri di sottolineatura nei nomi dei campi durante la mappatura?
- 27. E 'possibile che tutti i comandi "git diff" utilizzino il "Python diff", in tutti i progetti git?
- 28. Trova gitignore file e riga che fa sì che un file venga ignorato da git
- 29. trigger per i valori solo modificati
- 30. Confrontando 2 revisioni con svn diff (v 1.3.2) e ottieni solo i percorsi modificati?
Sono curioso, i numeri di riga sono davvero utili senza codice? O vuoi cambiare il numero di linee? –
beh, non particolarmente, ma ho bisogno di segnalibro dove ho cambiato il mio codice. – wei
Un utilizzo di questo sarebbe quello di combinare le informazioni con un report di copertura del codice, per valutare se il codice nuovo o modificato in un commit è coperto dai test – AntonyG