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 TERMvariabili 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 è
TERMstata 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-pageropzione.
Per impostazione predefinita, alcuni comandi git (come log) useranno un cercapersone come lessse 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.