Один из моих коллег недавно заметил несоответствие между обычной командой git log
и следующим псевдонимом:
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
После небольшого нажатия мы обнаружили, что это может быть связано сcygwin bash.
Вот наши выводы:
git log --graph
все коммиты видимы
git log --oneline
некоторые коммиты отсутствуют ... хорошо!Давайте подготовим отчет об ошибке, перенаправив вывод в текстовый файл:
git log --oneline > test.txt
Увы, все коммиты видны в test.txt
?!?Давайте исследуем дальше, разобрав псевдоним.Удаление цветовых кодов:
git log --graph --pretty=format:'%h - %d %s (%cr) <%an>'
некоторые коммиты отсутствуют.Так что это должна быть одна из переменных ...
[... некоторые обморожения позже ...]
Кажется, что после определенного перерыва комбинаций переменных.В этом случае (%cr) <%an>
Я также попробовал тот же репозиторий на Linux и там, он работает как положено (т.е. все коммиты показаны в журнале).
Мы хотели бы знатьпочему это происходит.