В настоящее время я занят проектом с большим количеством ветвей, и у меня есть тег для последних изменений, которые были сделаны в одной из веток. Но мне непонятно, на какой ветке стоит этот тег.
Как узнать, на какой ветке стоит тег?
В настоящее время я занят проектом с большим количеством ветвей, и у меня есть тег для последних изменений, которые были сделаны в одной из веток. Но мне непонятно, на какой ветке стоит этот тег.
Как узнать, на какой ветке стоит тег?
Ответы:
Еще короче:
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 -a --contains <tag>
. То же самое будет работать для коммитов.
git branch --contains <tag>
. git версии 2.23.0, zsh, откройте SUSE перекати-поле. Я не думаю, что это специфично для моей ОС или оболочки, я думаю, что это стандартная вещь, которую делают современные версии git. Они открывают список в пейджере
git branch --contains tag
ничего не делает для меня, но я нашел свое решение этой проблемы в git gui .
Начните так:
git gui
(На моем Ubuntu мне пришлось сначала установить его с sudo apt-get install git-gui
.)
Затем я выбрал пункт меню Repository -> Visualize All Branch History . В появившемся окне я выбрал пункт меню File -> List References .
Появилось еще одно окно со списком всех моих тегов (и других ссылок). Они кликабельны, и после нажатия на одну из них мне просто нужно было проверить нижний левый фрейм на наличие списка веток. Как это:
Parent: somesha (message)
Parent: someothersha (another message)
Child: anothersha (yet another message)
Branches: branch1, master, remotes/origin/branch2, remotes/upstream/branch1, etc
Follows: v1.1.2
Precedes: v1.1.4
Тегом вы отмечаете ссылку. Итак, когда вы находитесь в ветке разработчика и помечаете это состояние. Ваш тег находится на актуальной ссылке. Так что в этом случае вы можете обратиться к gitk или другому инструменту, где показано дерево. Там вы можете увидеть, по какой ссылке находится тег.
git: Есть ли что-то вроде тегов для каждой ветки?
http://git-scm.com/book/en/Git-Basics-Tagging
Вот хорошее объяснение.
git branch --contains <tag>
.