У меня есть относительно короткий 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);
... но это не имело значения.
Вход:
git checkout master
... в терминале приводит к следующему выводу:
Already on 'master' Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
Как перемотать вперед?