我有a relatively short Gist,它应该使用libgit2
来模拟git pull
命令的功能。不幸的是,它不太有用。
总结一下,摘录:
git_repository_open()
打开磁盘上的存储库git_remote_load()
获取git_remote *
到名为“origin”的远程GIT_DIRECTION_FETCH
标记git_remote_connect()
git_remote_download()
从远程根据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.
我如何快进?
答案 0 :(得分:3)
您应该运行git pull origin master
或
git fetch origin
+ git merge origin/master
然后意味着您需要等效的libgit2合并功能。
合并功能在libgit2 v0.20
中可用