Как видно из приведенного выше GIF, запуск git log
в моем WSL2 Ubuntu внезапно стал неинтерактивным. Он показывал бы все журналы сразу (в то время как аналог Windows, казалось, работал нормально). git
уже обновлен до последней версии, и это поведение также присутствует при запуске WSL2 отдельно, то есть без использования приложения Windows Terminal. Любые идеи о том, что вызвало проблему? Любая помощь приветствуется. Спасибо!
git log
должен показывать список всех коммитов в репозиторий, так что он работает как задумано см. документацию? Может быть, вы никогда не замечали этого раньше, потому что ваш репозиторий был меньше? И теперь у вас столько коммитов, что его заморозили? Это только временно? (ваш GIF выглядит так, как будто он проходит через инструмент, например less)
Если вы этого не хотите, используйте некоторые аргументы командной строки, чтобы уточнить, что вы делаете.
git log -n 1
Показывает только самый последний коммит. -n 2
показывает два самых последних и так далее...
Многие из инструментов Windows git являются оболочками для git, поэтому, возможно, они делают дополнительные вещи, которые объясняют различия в поведении, которые вы видели.
ОП удивлен тем фактом, что его пейджер не срабатывает. Название вопроса можно переработать.
@LeGEC спасибо за это разъяснение! Теперь заголовок был обновлен, мой ответ потерял смысл
Кажется, на вашей Ubuntu не работает ни один пейджер. Попробуйте git -c core.pager=more log
или git -c core.pager=less log
. Это все еще может не работать, если more
или less
недоступны. Если это работает, вы можете установить глобальную опцию с помощью
git config --global core.pager less
# or "more", depending on which takes effect
Кроме того, вы можете временно отключить пейджер с помощью git --no-pager log
.
Следуя документу для git config core.pager (из git help config
):
core.пейджер
Средство просмотра текста для использования командами Git (например, less). Значение предназначено для интерпретации оболочкой. Порядок предпочтения: переменная среды
$GIT_PAGER
, затем конфигурацияcore.pager
, затем$PAGER
, а затем значение по умолчанию, выбранное во время компиляции (обычноless
).
проверить значения:
echo $GIT_PAGER
git config core.pager
echo $PAGER
Если пейджер действительно less
, подтвердите, что less
установлен (очень вероятно, что это так: less --version
), а затем проверьте переменные среды, влияющие на LESS
:
env | grep LESS
возможно, некоторые из этих опций отключают пейджинг less
.
Наконец, если все приведенные выше значения выглядят как обычные значения, проверьте, правильно ли сообщают ваш терминал и tty значения (echo $TERM
, я только что выудил stty size
из этого вопроса и т. д.).
@CharlesDuffy Думаю, пейджер должен сработать.