Получить тег git проверенной версии?

Я делаю

$ git tag

current
tag_example_to_test_task

$ git checkout tag_example_to_test_task

...

HEAD is now at 75fdde3... commit comment text example

 $ git name-rev --name-only --tags HEAD

current

$ git describe --exact-match --tags

current

Мне нужно закончить последовательность выполнения с помощью следующей команды:

$ git "some command here"

tag_example_to_test_task

Как это сделать? Как получить имя тега текущего выписанного тега?

Ответ 1

Я думаю,

git log -n 1 --pretty=format:'%d'

должен сделать трюк.

Однако он покажет вам имена всех ветвей и тегов, которые у вас есть в текущей версии. Я не думаю, что можно получить только один тег, который использовался для проверки версии.

Ответ 2

Чтобы узнать, что у вас получилось, вы можете использовать

git reflog | sed q

Для поиска последней выписки:

git reflog | sed '/ checkout: /! d; q'

Это даст вам что-то вроде

b836444 [email protected]{7}: checkout: moving from AMFD to testing

показывая, что вы добавили семь коммитов с момента выполнения git checkout testing.

Ответ 3

Если вам нужны текущие сведения о версии, используйте git describe. Он скажет вам последний тег и количество коммитов после этого. Человеческий читабель, а не для потребления программ действительно.

Ответ 4

выводится только тег последней фиксации.

# git log | head -1
commit 507e0647efd7e49aee53b14da970a7c2bf24555b

Ответ 5

Это должно сделать трюк:

git tag --points-at=$(git rev-parse HEAD)

git rev-parse HEAD получит SHA256 текущего HEAD. Если эта фиксация будет помечена, это будет отвечено. Если текущий HEAD не помечен, результат пуст.