Git log ничего не отображает для всех проектов

Я использую git много лет. Но вдруг команда git log стала ничего не отображать. Когда я набираю команду git log, она просто заканчивается и ничего не отображает.

Команда git rev-list --all --pretty возвращает все коммиты вместе с другой информацией.

commit b89bbaafc0854b57230d5e5018dd72d48106eb03
Merge: 96758ec 60c87e1
Author: Ali Ayub Khan <[email protected]>
Date:   Sat May 19 14:05:01 2018 +0500

Merge pull request #33 from hkedia321/master

fix #32 - update readme and ping heroku to prevent from sleeping

Итак, команда "git log" ничего не отображала. Я удалил git и также переустановил, но он по-прежнему не работает. Это одинаково для всех проектов (как новых, так и старых). Я использую Ubuntu 16.04 LTS. Может кто-нибудь поможет мне решить эту проблему.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
148
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

(Я только сейчас нашел обсуждение, перемещенное в чат.)

Я предложил использовать git --no-pager log, и это сработало. Затем я спросил, что производит git var GIT_PAGER и на какую программу выполняется перенаправление; ответы были:

$ git var GIT_PAGER
pager
$ which pager
/home/hkedia321/anaconda3/bin/pager

Другие спрашивали о статусе выхода, который был 141: это указывает на SIGPIPE в Linux.

Итак, это означает, что программа, находящаяся в этом месте - /home/hkedia321/anaconda3/bin/pager - как-то неисправна. Вместо того, чтобы показывать вывод по одной странице за раз, он просто выходит, ничего не показывая, или умирает от сигнала SIGPIPE. Я отмечу здесь, что pager в моей собственной системе Ubuntu 16.04 - это /usr/bin/pager, который является символической ссылкой на /etc/alternatives/pager, которая сама по себе является символической ссылкой на /bin/less.

(Мой собственный git var GIT_PAGER производит less, так что я использую /bin/less гораздо более непосредственно.)

Таким образом, у вас есть два варианта:

  • исправьте эту программу pager, чтобы она работала, или
  • избегайте этой конкретной программы pager.

Последнее достаточно просто, если вы предпочитаете less в качестве пейджера, поскольку вы можете просто запустить:

git config --global core.pager less

(что характерно только для Git) или экспортируйте настройку:

PAGER=less

в вашей среде, что я и делаю в системах Linux, используя этот фрагмент кода в моем файле .profile:

# bash and sh use "type" a bit differently, but both will
# exit 0 if the command exists (or is an alias).
command_exists() {
        type "$1" >/dev/null 2>&1
}

# if less exists, use it as pager; if lesspipe exists, set its env too
command_exists less && {
        export PAGER=less
        export LESS=FRX
        command_exists lesspipe && eval $(lesspipe)
}

(это характерно для Unix-подобных систем, использующих sh или bash, хотя и пытается самонастраиваться).

Другие вопросы по теме