go-git: Можно ли выполнить полный сброс до исходной ветки?
Я пытаюсь программно с помощью go-git добиться результата следующих команд git:
git fetch
git reset --hard origin/<some_branch>
Итак, есть git.Worktree.Reset()
, который получает git.ResetOptions
, который имеет Commit
собственность типа plumbing.Hash
. К сожалению, я не могу понять, как получить хеш дляorigin/<some_branch>
.
Как я могу это сделать?
1 ответ
Решение
При использовании Git из командной строки вам нужно будет использовать rev-parse
(см. Как найти хэш ветки в Git?).
Кажется, это частично реализовано в go-git:
Существует метод (*Repository).ResolveRevision, который удовлетворяет часть поведения
rev-parse