Почему в git diff на окна предупреждают, что "терминал не полностью функциональный"?
Я использую msysgit 1.7.7.1 на Windows. Я получаю ошибку при использовании git diff
. Что является причиной этого? Нет ли инструмента diff, включенного в msysgit? Что же мне делать?
внимание: терминал не полностью функциональный
7 ответов:
для Git Bash это можно исправить, добавив следующую строку в~/.bashrc следующее:
export TERM=cygwin
-или-
export TERM=msys
первый, кажется, оригинал git для windows, второй-популярная известная форма для "исцеления".
проблема может быть вызвана, если какая-то другая программа (например Клубника На Perl) устанавливает
TERM
система окружающей среды переменная.
Если у вас возникли проблемы в cmd.exe, например, см. предупреждение здесь:
затем просто установите переменные среды и включите TERM=msys. После этого, каждый раз, когда вы открываете УМК.ехе, ваша переменная будет установлена правильно.
ТЕПЕРЬ ВЫ ДОЛЖНЫ ПЕРЕЗАПУСТИТЬ СВОЮ ОБОЛОЧКУ (CMD.ИСПОЛНЯЕМЫЙ.) Просто запустите новый. И оттуда у вас больше не должно быть проблем. И снова:
выше ответы не были полностью отработаны для меня, поэтому я сделал: Добавить
export TERM=msys
на "[githome] / etc / profile " наверху, но он внес изменения только для git bash. Затем я добавил
@set TERM=msys
на "[githome]/cmd / git.cmd " после @setlocal (я установил только git run из командной строки). Может быть, это решение не очень хорошо, но оно работает для меня, и нет никаких предупреждений терминала. (Я использую git версии 1.7.10.msysgit.1).
ответ можно найти здесь, в котором автор решения утверждает, что:
переменной окружения
TERM
был установлен доdumb
это было вместо
TERM=cygwin
вы можете изменить это, чтобы
TERM=msys
чтобы решить проблему под рукой.
Я работаю в powershell, и у меня есть исполняемый файл git прямо на моем пути.
ни один из предложенных ответов работал, но я нашел решение, которое работает для меня.
Я добавил строку в свой профиль powershell:
$env:TERM="msys"
что исправило проблему для меня.
быстрое и грязное решение в моем случае оказалось использовать .
по умолчанию, некоторые команды git (как
log
) будет использовать пейджер, какless
если они ожидают, что выход будет длинным. Пейджеры требуют таких вещей, как прокрутка текста вверх и вниз с помощью клавиш со стрелками, что иногда не работает, если предположения о том, какой терминал вы используете, неверны (это то, что означает "не полностью функциональный").если вы заранее знаете, что ваш вывод будет коротким, или вы просто хотите, чтобы он сбрасывал вывод на терминал и оставлял прокрутку до вашей терминальной программы, вы можете переопределить это и вообще не использовать пейджер, например:
git --no-pager log