Я хотел бы знать алгоритм, который обнаруживает последние изменения в указанном файле, когда я изучаю архитектуру git core.
вы знаете git log -n1 -- <file>
показать коммит, который недавно изменился в указанном файле. узнать последние изменения очень просто. Я случайно хочу реализовать это самостоятельно.
я использую libgit2 для обхода каждого коммита. и я взял несколько дней, но я не могу этого понять.
Модель git commit, использующая DAG-подобную структуру, вряд ли будет искать это для меня.
[for example]
o---o---o---o---o---M--[HEAD]
`-o------M-o-o'
`-C-o-'
o means: a commit
M means: merge commit
C means: rechange change in the specified file
Каков наилучший способ обнаружить недавние изменения в указанном файле?