libgit2 结帐不会更新头部



我有一个带有 2 个分支的 git 存储库,master 和 foo。主分支提交有 3 个文件 (1.txt,2.txt,3.txt),foo 分支提交已删除 3.txt。

我使用 foo 分支指向的提交的 id 调用git_checkout_tree,并且 3.txt 文件确实被删除了。然而,头部没有设置为指向 foo,它仍然指向 master,git 状态显示"D 3.txt"。

我错过了什么?如何更新头部以指向 foo?我想这与libgit2参考API有关。

谢谢

检出函数是关于将文件检出到工作树,如函数的描述所示

更新索引和工作树中的文件,以匹配树指向的树的内容。

结帐系列函数与 git 的 checkout 命令的分支切换模式无关。为了更改活动分支是什么,您需要通过泛型git_reference_*函数或git_repository_set_head()方便函数帮助程序使 HEAD 指向该分支。

最新更新