Ordem Git e log

Eu estava tentando criar uma ordem linear a partir da saída "git log", mas todas as minhas tentativas falharam. O que eu preciso fazer é mapear uma confirmação para a próxima versão que contém essa confirmação. Eu não posso correr

git tag --contains <commit>

para cada commit, já que nosso repositório contém uma quantidade extremamente grande de commits (mais de 300.000).

Primeiro eu tentei usar

git log --pretty=format:"%ct%H" | sort --key=1,10 

para obter uma ordem linear com base no tempo de confirmação. No entanto, isso não parece produzir um resultado 100% preciso. Isso leva à minha primeira pergunta:

Q1) Como o git armazena os tempos de commit, quando os commits são enviados para o repositório principal? Ele armazena a hora atual da máquina para cada commit, em UTC?

Eu também olhei para "git help log", e a documentação declara que por padrão, o git log lista os commits em ordem cronológica. No meu projeto, verifiquei se estava introduzindo algum erro, mas até onde posso dizer, o código está correto e a ordem cronológica fornecida pelo git log não é uma ordem linear. Finalmente, minha pergunta é?

Q2) Como se pode obter uma ordem linear de "git log", dado que o git não armazena números de revisão?

Obrigado :)

questionAnswers(1)

yourAnswerToTheQuestion