Esiste una funzionalità in git in cui posso confrontare i miei file locali con un controllo git source prima di eseguire le modifiche?Git Confronta i file prima del commit
risposta
Ovviamente si può fare.
Utilizzando
git diff
comando senza alcun argomento: sarà confrontare ogni file modificati nel file system con i file nel tag corrente ramo check-out (o).Utilizzo di
git diff <tag(or)branch name>
: confronta ogni file modificato nel file system con i file nel tag ramo (o) specificato.Utilizzo di
git diff <path/to/file_name (or) path/to/folder>
: confronta il file o i file specificati nella cartella del file system con il tag corrente estratto (o) corrente.Utilizzo di
git diff <tag1(or)branch1 name> <tag2(or)branch2 name>
: confronta tutti i file modificati tra due rami/tag.
Ci sono molte opzioni, è possibile passare al comando 'git diff' per formattare l'output.Qui ne ho elencato alcuni:
git diff --name-only
: mostra solo i nomi dei file modificati, non i contenuti.git diff --name-status
: mostra solo i nomi e lo stato dei file modificati.git diff --cached (or --staged)
: confronta solo i file che sono gestiti/indicizzati.
per ulteriori informazioni: eseguire git diff --help
nel proprio git bash.
FYI: git diff
genererà l'output nella riga di comando. Se si desidera vedere l'output in alcuni strumenti visivi, utilizzare git difftool
.
Utilizzo di git difftool
: è possibile configurare il git per utilizzare lo strumento di diff/unione per confrontare i file. Acquista questo link: use Winmerge inside of Git to file diff
È possibile passare tutti git diff
argomenti e le opzioni per git difftool
pure.
grazie karthik! questo è utile! : D – mallows98
Poiché i commit sono facili da modificare/modificare prima che vengano inviati, trovo più facile eseguire il commit e quindi nel registro per vedere cosa ho modificato.
Nel caso in cui non è quello che mi aspetto, modificare, ripristinare, rebase -i, ecc ...
Mi piace usare
git status
Vi mostrerà quali file sono cambiati e cosa stai seguendo È quindi possibile utilizzare
git diff
o il più GUI
gitk
Per vedere la diff.
Preferisco utilizzare questo metodo.
Uno script per il confronto
#!/bin/sh
( # execute in a subshell so you can continue
# working in the current shell
set -o xtrace # bash setting that echos each command before it's executed
> /tmp/auto_bcompare_log # truncate existing log file
BCOMP_PATH=/usr/bin/bcompare
BRANCH="$1" # get branch argument from command line
TEMPDIR=`mktemp -d` # get a temp directory
CWD=`pwd` # remember the current directory
git clone $CWD $TEMPDIR
cd $TEMPDIR
git checkout $BRANCH
cd $CWD
$BCOMP_PATH $CWD $TEMPDIR
rm -rf $TEMPDIR
) >> /tmp/auto_bcompare_log 2>&1 < /dev/null & # background and redirect
# stdout/stderr/stdin
Lo script sopra è sicuramente _non_ scritto da me. L'ho preso dalla rete, ma non sono sicuro delle fonti. Salva questo nel repository come compare.sh. Assicurati di fornire il percorso corretto per il file bcompare.
Per il confronto prima del commit.
./compare.sh <branch_you_want_to_compare>
Che cosa questo script fa in sostanza è che, checkout il ramo che si dà come parametro in una directory temp e si apre per un confronto con il pwd. Con questo è possibile rivedere le modifiche prima di impegnarsi. Spero che questo sia quello che vuoi.
- 1. Come visualizzare le modifiche a un file prima del commit?
- 2. Rimuovere tutti i file per git commit?
- 3. Nascondere una stringa in un file prima di commit git
- 4. Rimuovi commit prima del commit specifico
- 5. Modifica del messaggio di commit Git fatto prima di un'unione
- 6. Git marca la prima lettera maiuscola del nome del file
- 7. git che mi ha richiesto prima del commit
- 8. git commit comment per file
- 9. git commit -m vs. git commit -am
- 10. Confronta i file con awk
- 11. È git commit -am ridondante, se devo aggiungere git prima?
- 12. git rimuove lo spazio vuoto finale nei nuovi file prima del commit
- 13. "unadd" un file in svn prima del commit
- 14. modifica un file in tutti i commit in git
- 15. Git: come reimballano tutti i commit sciolto
- 16. git: mostra tutti i file modificati tra due commit
- 17. Git: commit e aggiungere automaticamente tutti i file non monitorate
- 18. commit git eliminazione di tutti i file in repo
- 19. Registro di Git prima di una data di commit
- 20. git commit symlink come file normale
- 21. git: trova il più grande commit (i)
- 22. Git pre-commit hook: file modificati/aggiunti
- 23. Perché git commit non aggiunge nuovi file?
- 24. Git commit bash script
- 25. tirare specifica commit/file da git
- 26. delete first git commit
- 27. git commit problems
- 28. git find fat commit
- 29. Leggi l'ultimo commit del git e il numero di commit
- 30. Bad commit to Git
Stai cercando di confrontare il repository git locale con un repository github remoto? –
Sì, simile a VS.NET TFS in cui è possibile fare un confronto di tutti i file modificati prima di controllare tutto. – mallows98
possibile duplicato di [Git: Come visualizzare il file diff prima del commit] (http://stackoverflow.com/ domande/10039747/git-how-to-view-file-diff-before-commit) – kenorb