libgit2 相当于 git 重置?

libgit2 equivalent of git reset?

我正在努力适应 libgit2,因此正在制作简单的 git 应用程序。我知道 git rm --cached <filepath> 正在从索引中删除文件(例如 git_index_remove_bypath(idx, path))。现在正在寻找 git reset <filepath>

libgit2 是否有关于如何将文件重置为先前状态(也称为未暂存)的示例或文档?我找到的最好的解释是 this one 但我真的不明白他的意思。

感谢任何指示甚至示例

要取消暂存文件,您要将文件的当前 HEAD 提交条目写入索引 git_index_add。有关详细信息,请参阅我对 的回答。