У меня есть репозиторий git с двумя ветками, master и foo. Коммит ветки master содержит 3 файла (1.txt, 2.txt, 3.txt), коммит ветки foo удалил файл 3.txt.
Я вызываю git_checkout_tree с идентификатором коммита, на который указывает ветка foo, и файл 3.txt действительно удаляется. Однако заголовок не указывает на foo, он по-прежнему указывает на master, а в статусе git указано «D 3.txt».
Что мне не хватает? Как мне обновить голову, чтобы она указывала на foo? Я предполагаю, что это как-то связано с эталонным API libgit2.
Спасибо