Получить тег 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 не помечен, результат пуст.