Я використовую msysgit 1.7.7.1 для Windows. Я отримую помилку під час використання git diff
. Що це викликає? Чи не включений у msysgit інструмент різниці? Що я повинен зробити?
УВАГА: термінал не працює повністю
Я використовую msysgit 1.7.7.1 для Windows. Я отримую помилку під час використання git diff
. Що це викликає? Чи не включений у msysgit інструмент різниці? Що я повинен зробити?
УВАГА: термінал не працює повністю
Відповіді:
Для Git Bash це можна виправити, додавши наступний рядок до ~ / .bashrc:
export TERM=cygwin
або
export TERM=msys
Перший, здається, оригінал - git для windows, другий - також відома форма «оздоровлення».
Проблему можна викликати, якщо якась інша програма (наприклад, Strawberry Perl ) встановлює TERM
змінні системного середовища.
setx TERM msys
. SETX
(на відміну від просто SET) пише змінну env до реєстру.
Наприклад, якщо у вас є проблеми з cmd.exe, див. Попередження тут:
Потім просто встановіть змінні середовища та додайте TERM = msys. Після цього, кожного разу, коли ви відкриєте cmd.exe, ваша змінна буде встановлена правильно.
ЗАРАЗ ВАМ ПОВИНЕН ЗНОВИТИ СВОЮ ШАЛУ (CMD.EXE). Просто запустіть новий. І звідти у вас більше не повинно бути питань. Знову:
Наведені вище відповіді не повністю працювали для мене, тому я зробив: Додати
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 прямо на своєму шляху.
Жодна із запропонованих відповідей не спрацювала, але я знайшов рішення, яке працює для мене.
Я додав рядок у своєму профілі повноважень:
$env:TERM="msys"
Що вирішило для мене проблему.
Швидке та брудне рішення у моєму випадку виявилось у використанні цього --no-pager
варіанту.
За замовчуванням деякі команди git (наприклад log
) будуть використовувати пейджер, як less
якщо вони очікують, що вихід буде довгим. Пейджери вимагають таких елементів, як прокрутка тексту вгору і вниз за допомогою клавіш зі стрілками, що іноді не працює, якщо припущення про те, на якому терміналі ви перебуваєте, помиляються (саме це означає «не повністю функціональний»).
Якщо ви заздалегідь знаєте, що ваш вихід буде коротким, або ви просто хочете, щоб він скидав висновок до терміналу і залишав прокрутку до своєї програми терміналів, ви можете змінити це і взагалі не використовувати пейджер, наприклад:
git --no-pager log
Якщо хтось отримає цей запуск bash від Git Extensions, перевірте налаштування Path to linux tools...
. Моя була встановлена на C:\cygwin
. Змінивши його, щоб C:\Program Files (x86)\Git\bin\
виправити це для мене. Мені не потрібно було встановлювати змінну TERM для запуску bash таким чином.