用libgit2实现'git pull'?

时间:2013-03-19 05:51:40

标签: c git libgit2

我有a relatively short Gist,它应该使用libgit2来模拟git pull命令的功能。不幸的是,它不太有用。

总结一下,摘录:

根据git_remote_stats(),确实提取了对象。但工作目录不会更改以反映最新提交。我尝试添加:

git_checkout_head(repo, NULL);

......但这没什么区别。

输入:

git checkout master

...在终端中产生以下输出:

Already on 'master'
Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.

我如何快进?

1 个答案:

答案 0 :(得分:3)

您应该运行git pull origin master

git fetch origin + git merge origin/master

然后意味着您需要等效的libgit2合并功能。

合并功能在libgit2 v0.20

中可用