JGit получить ветку, на которой был сделан commitID - PullRequest
1 голос
/ 28 января 2012

Когда я извлекаю данные из commitID, git переходит в отключенное состояние NO_BRANCH. Таким образом, JGit APi, который я использую для получения имени ветви, возвращает коммит. Поэтому в JGit API мне нужно найти ветку, в которой был сделан этот коммит.

1 Ответ

1 голос
/ 30 января 2012

Использование режима отсоединенной ветви (т.е. извлечение из коммита) действительно не рекомендуется: http://sitaramc.github.com/concepts/detached-head.html

Прежде всего, я не знаю, как вы получаете коммит SHA. Обычно вы находите коммит, сканируя ветку (например, используя журнал). Таким образом, вопрос, который вы должны задать себе, заключается в том, как вы получаете идентификатор фиксации, и как вы найдете ответвление по этим данным.

Для вашей конкретной проблемы, я полагаю, есть способ найти имя ветви на основе объекта RevCommit. Тем не менее, вы должны знать, что это совсем не естественно.

Если вы перейдете по ссылке выше, вы поймете, как построен Git и почему ваша цель - получить коммит из других данных, а не наоборот.

...