Основываясь на этом ответе SO, вы можете прекратить необходимость выхода, добавив --no-pager сразу после git .
Это не команда log которая ожидает q , это less инструмент, который выполняет разбиение на страницы. Сказав git что вам не нужен пейджер, команда log распечатает все выходные данные и сразу же завершит работу.
Конечно, если стоит более одного экрана, вы распечатаете все, и вам придется прокрутить вверх, чтобы увидеть самые последние коммиты. Вы можете бороться с этим, ограничивая количество коммитов в журнале, добавив что-то вроде -22 . Это может ограничить 22 коммитов, вы, конечно, можете выбрать другое число.
Что-то вроде:
while :
do
clear
git --no-pager log --all --decorate --oneline -22 --graph
sleep 1
done