Sto usando msysgit 1.7.7.1 su Windows. Ricevo un errore durante l'utilizzo git diff
. Cosa sta causando questo? Non c'è uno strumento diff incluso in msysgit? Cosa dovrei fare?
ATTENZIONE: il terminale non è completamente funzionante
Sto usando msysgit 1.7.7.1 su Windows. Ricevo un errore durante l'utilizzo git diff
. Cosa sta causando questo? Non c'è uno strumento diff incluso in msysgit? Cosa dovrei fare?
ATTENZIONE: il terminale non è completamente funzionante
Risposte:
Per Git Bash, questo può essere risolto aggiungendo la seguente riga a ~ / .bashrc:
export TERM=cygwin
-o-
export TERM=msys
Il primo sembra essere l'originale di git per windows, il secondo anche una forma nota e popolare per "curare".
Il problema può essere causato se qualche altro programma (come ad esempio Strawberry Perl ) imposta le TERM
variabili di ambiente del sistema.
setx TERM msys
. SETX
(al contrario del solo SET) scrive la variabile env nel registro.
Se si verificano problemi in cmd.exe, ad esempio, vedere l'avviso qui:
Quindi imposta semplicemente le tue variabili d'ambiente e includi TERM = msys. Dopodiché, ogni volta che apri un cmd.exe, la tua variabile verrà impostata correttamente.
ORA DEVI RIAVVIARE IL TUO SHELL (CMD.EXE). Basta eseguirne uno nuovo. E da lì, non dovresti avere più problemi. Ancora:
Le risposte di cui sopra non funzionavano completamente per me, quindi ho fatto: Aggiungi
export TERM=msys
a " [githome] / etc / profile " in alto ma ha apportato modifiche solo per git bash. Poi ho aggiunto
@set TERM=msys
a " [githome] /cmd/git.cmd " dopo @setlocal (ho installato solo git run dalla riga di comando). Potrebbe essere questa decisione non veramente buona, ma funziona per me e non ci sono avvisi di terminale. (Io uso git versione 1.7.10.msysgit.1).
La risposta può essere trovata qui , in cui l'autore della soluzione afferma che:
la variabile d'ambiente è
TERM
stata impostata sudumb
quello era invece di
TERM=cygwin
Puoi cambiarlo in
TERM=msys
per risolvere il problema a portata di mano.
Lavoro in PowerShell e ho l'eseguibile git direttamente nel mio percorso.
Nessuna delle risposte suggerite ha funzionato, ma ho trovato una soluzione che funziona per me.
Ho aggiunto una riga nel mio profilo PowerShell:
$env:TERM="msys"
Che ha risolto il problema per me.
Una soluzione rapida e sporca nel mio caso si è rivelata quella di utilizzare l' --no-pager
opzione.
Per impostazione predefinita, alcuni comandi git (come log
) useranno un cercapersone come less
se si aspettassero che l'output fosse lungo. I cercapersone richiedono cose come lo scorrimento del testo su e giù con i tasti freccia, che a volte non funziona se le ipotesi sul tipo di terminale su cui ti trovi sono sbagliate (questo è ciò che significa "non completamente funzionante").
Se sai in anticipo che il tuo output sarà breve, o vuoi semplicemente che esegua il dump dell'output sul terminale e lasci lo scorrimento al programma del tuo terminale, puoi sovrascriverlo e non usare affatto un cercapersone, ad esempio:
git --no-pager log
Nel caso in cui qualcuno ottenga questo lancio di bash da Git Extensions, controlla l'impostazione per Path to linux tools...
. Il mio era impostato su C:\cygwin
. Cambiandolo per C:\Program Files (x86)\Git\bin\
ripararlo per me. Non ho dovuto impostare la variabile TERM per avviare bash in questo modo.