我有一个相对较短的Gist,它应该libgit2用来模拟git pull命令的功能.不幸的是,它并没有完全奏效.
总之,代码片段:
git_repository_open()打开磁盘上的存储库git_remote_load()以获取git_remote *名为"origin"的远程控件git_remote_connect()用GIT_DIRECTION_FETCH旗帜打电话git_remote_download()从远程获取对象根据git_remote_stats(),物体确实被取出.但工作目录不会更改以反映最新提交.我尝试添加:
git_checkout_head(repo, NULL);
Run Code Online (Sandbox Code Playgroud)
......但这没有任何区别.
输入:
git checkout master
...在终端中产生以下输出:
Already on 'master' Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
我如何快进?
你应该跑git pull origin master
或者
git fetch origin+git merge origin/master
那么意味着您需要等效的 libgit2 合并功能。
libgit2 v0.20 中提供了合并功能
| 归档时间: |
|
| 查看次数: |
2544 次 |
| 最近记录: |