我有一个带有 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 指向该分支。