2013-03-19 34 views
6

我有a relatively short Gist,它应该使用libgit2来模拟git pull命令的功能。不幸的是,它不是很有效。用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.

我怎么快进?

回答

3

您应该运行git pull origin master

git fetch origin + git merge origin/master

那么意味着你需要相当于libgit2合并功能。

合并功能是在libgit2 v0.20提供

+0

其实,有含'git_merge'功能的WIP(工作正在进行中)分公司。它似乎相对成熟,我目前正在考虑使用它。 – 2013-03-19 18:01:05

+0

没关系。我认为分支需要重新分配。 – 2013-03-24 06:53:03

+0

什么新东西? – 2013-11-25 18:47:39