Подтвердить что ты не робот

Git: Как узнать, на каком теге ветки?

В настоящее время я занят проектом с большим количеством веток, и у меня есть тег для последних изменений, который выполняется на одной из ветвей. Но мне непонятно, на какой ветке этот тег.

Как узнать, на каком теге ветки?

4b9b3361

Ответ 1

Еще короче:

git branch --contains tags/<tag>

(он работает для любой древовидной ссылки)


Если вы можете найти который передает тег, ссылается на:

 git rev-parse --verify tags/<tag>^{commit}
 # or, shorter:
 git rev-parse tags/<tag>~0

Затем вы можете найти какая ветвь содержит эту фиксацию.

git branch --contains <commit>

Как прокомментировал ниже user3356885, для выбранных ветвей (ветки в пространстве имен пультов)

git branch -a --contains tags/<tag>
git branch -a --contains <commit>

Ответ 2

Если "git branch --contains" ничего не делает, убедитесь, что вы включаете все ветки, как удаленные, так и локальные ветки:

git branch -a --contains <tag>

Из справки git:

Конкретные git -отличные действия:     -a, --все список удаленных отслеживаний и локальных ветвей

Ответ 3

git branch --contains tag

ничего не делает для меня, но я нашел решение этой проблемы в git gui.

Начните так:

git gui

(На моем Ubuntu мне пришлось сначала установить его с помощью sudo apt-get install git-gui.)

Затем я выбрал пункт меню "Репозиторий" → "Визуализировать всю историю веток". В появившемся окне я выбрал пункт меню Файл → Список ссылок.

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

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

Ответ 4

С тегом вы отмечаете ссылку. Поэтому, когда вы находитесь в ветки dev и отмечаете это состояние. Ваш тег находится на фактической ссылке. Поэтому в этом случае вы можете посмотреть gitk или другой инструмент, где показано дерево. Там вы можете увидеть, на какой ссылке есть тег.

git: Есть ли что-то вроде тегов с каждой ветвью?
http://git-scm.com/book/en/Git-Basics-Tagging

Вот хорошее объяснение.

Ответ 5

Что касается комментария @VonC о поиске фиксации, на которую ссылается тег, просто используйте:

git show <tag>

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