Как найти ветку по идентификатору фиксации

Итак, я пытаюсь найти имя ветки, в которой была сделана данная фиксация. (c853d8cf3ae34dae9866b874b96c6529515d7e90)

У меня есть родительский идентификатор и идентификатор фиксации, на которые ссылается проблема с git.
Как мне узнать, что данный идентификатор фиксации был помещен в ветку 'x'?


person PriyankaK    schedule 26.03.2013    source источник
comment
возможный дубликат Git: определение ветки, из которой произошла фиксация   -  person Tuxdude    schedule 27.03.2013
comment
GitHub теперь имеет специальный способ показать ветку от коммита. Смотрите мою правку.   -  person VonC    schedule 02.04.2013


Ответы (2)


В частности, на GitHub теперь вы можете увидеть ветку, частью которой является данный коммит.
Сообщение в блоге "Метки веток и тегов для страниц фиксации" подробнее:

Если фиксация не находится в ветке по умолчанию, индикатор покажет ветви, которые содержат фиксацию.
Если фиксация является частью не объединенного запроса на вытягивание, будет показана ссылка.

Ссылка для запроса на вытягивание

Как только фиксация попадет в ветвь по умолчанию, будут показаны все теги, содержащие фиксацию, и ветка по умолчанию будет единственной в списке.

ветвь фиксации


Оригинальный ответ

Вы можете перечислить эти ветки:

git branch --contains <commit>

# in your case
git branch --contains <commit> | grep x

Подробнее см. «Git: определение ветки, из которой произошла фиксация».

Не забывайте, что коммит может быть частью нескольких веток.

person VonC    schedule 26.03.2013
comment
Спасибо за обновление VonC. Новая функция довольно крутая. Наконец то, о чем я всегда мечтал от Git. - person PriyankaK; 02.04.2013
comment
Если вы хотите использовать его программно, вам могут пригодиться следующие параметры: git branch --no-color --no-column --format "%(refname:lstrip=2)" --contains <commit> - person udondan; 13.12.2018
comment
Обратите внимание, что использование --format в вышеупомянутом совете (каким бы приятным оно ни было) доступно только в git v2.13.2 и более поздних версиях. - person Lester Peabody; 10.04.2019
comment
что, если там нет имени ветки, возможно, есть удаление, как я могу оформить заказ на него локально? - person jangorecki; 23.12.2019
comment
@jangorecki вы можете создать новую ветку, начиная с идентификатора фиксации. git switch -c newBranch <commitID>, используя новую команду git switch: stackoverflow.com/a/57066202/6309 - person VonC; 23.12.2019

Просто чит.

Вы можете увидеть ветку на странице сведений о фиксации Github следующим образом:

https://github.com/{github_username}/{repo}/commit/{commit_id}

Пример: https://github.com/chungth/Laravel-5.2-Bootstrap3-starter-site/commit/f81c13234a9da988613e14e52f752abec5f51997

Вы можете увидеть текущее название ветки на этой странице.

person Chung    schedule 27.05.2016
comment
Супер полезно. Спасибо!! - person ginna; 22.07.2016