Как определить, к каким «удаленным ветвям» данный SHA-1 «принадлежит»? - PullRequest
2 голосов
/ 26 января 2012

Мы сохраняем SHA-1 текущей проверки при создании наших артефактов Maven, поэтому мы можем вернуться к точному коммиту, из которого был сделан артефакт, с помощью «git checkout SHA-1». Это приводит к тому, что отдельная ГОЛОВА не принадлежит ни к каким ветвям.

Затем я могу использовать «gitk --all». визуально идентифицировать удаленную ветвь (и), к которой принадлежит фиксация, но я хотел бы знать соответствующую команду git для определения того, к какой ветке «принадлежит» текущая фиксация (РЕДАКТИРОВАТЬ: поскольку в ветке могли быть исправлены другие ошибки начиная с этой конкретной сборки).

Ответы [ 2 ]

6 голосов
/ 26 января 2012
$ git branch -r --contains <SHA-1>

Это потенциально даст вам больше, чем одну ветку, и не скажет, какая из них самая «свежая».

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

от git help branch

С параметром --contains показывает только ветви, содержащие указанный коммит (другими словами, ветви, чьи коммиты потомки именованного коммита). С --merged, только ветки объединяются в именованный коммит (то есть ветки, кончик которых фиксирует достижимы из указанного коммита) будут перечислены. С параметром --no-merged будут использоваться только те ветки, которые не были объединены с указанным коммитом. в списке. Если аргумент отсутствует, по умолчанию используется значение HEAD (т. Е. Конец текущей ветви).

Итак, я думаю, вы ищете git branch --contains SHA-1

Чтобы вывести список удаленных веток, сначала вам нужно извлечь все удаленные ветки, а затем дать опцию -r указанной выше команде.

git fetch
git branch -r --contains SHA-1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...