В настоящее время я занят проектом с большим количеством ветвей, и у меня есть тег для последних изменений, которые были сделаны в одной из веток. Но мне непонятно, на какой ветке стоит этот тег.
Как узнать, на какой ветке стоит тег?
Еще короче:
git branch --contains tags/<tag>
(работает для любой древовидной ссылки)
Если вы можете найти, к какой фиксации относится тег :
git rev-parse --verify tags/<tag>^{commit}
# or, shorter:
git rev-parse tags/<tag>~0
Затем вы можете найти, какая ветка содержит этот коммит .
git branch --contains <commit>
Как прокомментировано ниже пользователем3356885 , для выбранных ветвей (ветки в пространстве имен удаленных )
git branch -a --contains tags/<tag>
git branch -a --contains <commit>
git branch --contains <tag>
.git branch -a --contains <tag>
. То же самое будет работать для коммитов.git branch --contains <tag>
. git версии 2.23.0, zsh, откройте SUSE перекати-поле. Я не думаю, что это специфично для моей ОС или оболочки, я думаю, что это стандартная вещь, которую делают современные версии git. Они открывают список в пейджереЕсли "git branch --contains" ничего не делает, убедитесь, что вы включаете все ветки, как удаленные, так и локальные:
источник
ничего не делает для меня, но я нашел свое решение этой проблемы в git gui .
Начните так:
(На моем Ubuntu мне пришлось сначала установить его с
sudo apt-get install git-gui
.)Затем я выбрал пункт меню Repository -> Visualize All Branch History . В появившемся окне я выбрал пункт меню File -> List References .
Появилось еще одно окно со списком всех моих тегов (и других ссылок). Они кликабельны, и после нажатия на одну из них мне просто нужно было проверить нижний левый фрейм на наличие списка веток. Как это:
источник
Что касается комментария @VonC о поиске фиксации, на которую ссылается тег, просто используйте:
Поскольку тег привязан к конкретной фиксации, его можно использовать для отображения этой фиксации, что даст вам полную информацию о фиксации.
источник
Тегом вы отмечаете ссылку. Итак, когда вы находитесь в ветке разработчика и помечаете это состояние. Ваш тег находится на актуальной ссылке. Так что в этом случае вы можете обратиться к gitk или другому инструменту, где показано дерево. Там вы можете увидеть, по какой ссылке находится тег.
git: Есть ли что-то вроде тегов для каждой ветки?
http://git-scm.com/book/en/Git-Basics-Tagging
Вот хорошее объяснение.
источник
Тег всегда относится к номеру фиксации. Используя этот номер тега, вы можете найти ветку, из которой был размещен тег, используя это:
источник
Вы также можете попробовать это, у меня был аналогичный вариант использования, и это сработало для меня
Немного отличается, но вдохновлен ответом @ ttfreeman
источник