我想知道一种算法,它可以在我学习 git 核心架构时检测指定文件中的最近更改。
您知道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
检测指定文件中最近更改的最佳方法是什么?