Estou usando o msysgit 1.7.7.1 no Windows. Recebo um erro ao usar git diff
. O quê está causando isto? Não há ferramenta diff incluída no msysgit? O que devo fazer?
AVISO: o terminal não está totalmente funcional
Estou usando o msysgit 1.7.7.1 no Windows. Recebo um erro ao usar git diff
. O quê está causando isto? Não há ferramenta diff incluída no msysgit? O que devo fazer?
AVISO: o terminal não está totalmente funcional
Respostas:
Para Git Bash, isso pode ser corrigido adicionando a seguinte linha a ~ / .bashrc:
export TERM=cygwin
-ou-
export TERM=msys
O primeiro parece ser o original do git para windows, o segundo também é uma forma conhecida de "curar".
O problema pode ser causado se algum outro programa (como por exemplo Strawberry Perl ) definir as TERM
variáveis de ambiente do sistema.
setx TERM msys
. SETX
(ao contrário de apenas SET) grava a variável env no registro.
Se você estiver tendo problemas com cmd.exe, por exemplo, consulte o aviso aqui:
Em seguida, basta definir as variáveis de ambiente e incluir TERM = msys. Depois disso, cada vez que você abrir um cmd.exe, sua variável será configurada corretamente.
AGORA VOCÊ DEVE REINICIAR SEU SHELL (CMD.EXE). Basta executar um novo. E a partir daí, você não deve ter mais problemas. Novamente:
As respostas acima não funcionaram totalmente para mim, então eu fiz: Adicionar
export TERM=msys
para " [githome] / etc / profile " na parte superior, mas fez alterações apenas para git bash. Então eu adicionei
@set TERM=msys
para " [githome] /cmd/git.cmd " após @setlocal (instalei apenas git run da linha de comando). Pode ser que esta decisão não seja realmente boa, mas funciona para mim e não há nenhum aviso de terminal. (Eu uso git versão 1.7.10.msysgit.1).
A resposta pode ser encontrada aqui , em que o autor da solução afirma que:
a variável de ambiente
TERM
foi definida paradumb
isso foi em vez de
TERM=cygwin
Você pode mudar isso para
TERM=msys
para resolver o problema em questão.
Eu trabalho no PowerShell e tenho o executável git diretamente no meu caminho.
Nenhuma das respostas sugeridas funcionou, mas encontrei uma solução que funciona para mim.
Eu adicionei uma linha em meu perfil do PowerShell:
$env:TERM="msys"
O que resolveu o problema para mim.
Uma solução rápida e suja no meu caso acabou sendo usar a --no-pager
opção.
Por padrão, alguns comandos git (como log
) usarão um pager como less
se esperassem que a saída fosse longa. Os pagers exigem coisas como rolar o texto para cima e para baixo com as teclas de seta, o que às vezes não funciona se as suposições sobre o tipo de terminal que você está usando estiverem erradas (isso é o que significa "não totalmente funcional").
Se você sabe com antecedência que sua saída será curta, ou apenas deseja que ela despeje a saída no terminal e deixe a rolagem para o programa do terminal, você pode ignorar isso e não usar um pager, por exemplo:
git --no-pager log
No caso de alguém obter este bash de inicialização de extensões Git, verifique a configuração para Path to linux tools...
. O meu foi definido para C:\cygwin
. Mudar para C:\Program Files (x86)\Git\bin\
consertar para mim. Não precisei definir a variável TERM para iniciar o bash dessa forma.