Есть ли простая команда для преобразования ветки в тег?

Я собираюсь завершить утомительный процесс преобразования «тупых снимков» в git. Этот процесс идет очень хорошо (благодаря процессу переименования ), но теперь я понял, что некоторые из созданных мною ветвей заслуживают не ветвь , а скорее ] tag .

Поскольку все по-прежнему локально (никогда не помещается в репозиторий), я нашел этот вопрос (и связанный с ним ответ) несколько более громоздким, чем я предпочитаю, поэтому мне было интересно, могу ли я можно использовать ярлык с помощью простой команды "convert-from-branch-to-tag"?

Есть ли такая простая команда для преобразования ветки в тег?

(Я знаю, что могу просто оставить все как есть , но мне очень нравится, как gitk выделяет теги, помогая мне легко их идентифицировать).

ОБНОВЛЕНИЕ: Благодаря ответу @ Andy ниже мне удалось создать сценарий оболочки, который делает все это удобно и безболезненно. Я делюсь этим сценарием на благо всех и в качестве особой благодарности этому великому сообществу, которое сделало для меня возможным переход с CVS на git:

#!/bin/sh

BRANCHNAME=$1
TAGNAME=$2

echo "Request to convert the branch ${BRANCHNAME} to a tag with the same name accepted."
echo "Processing..."
echo " "

git show-ref --verify --quiet refs/heads/${BRANCHNAME}
# $? == 0 means local branch with  exists. 

if [ $? == 0 ]; then
   git checkout ${BRANCHNAME}
   git tag ${BRANCHNAME}
   git checkout master
   git branch ${BRANCHNAME} -d
   echo " "
   echo "Updated list branches, sorted chronologically: "
   echo "---------------------------------------------- "
   git log --no-walk --date-order --oneline --decorate $(git rev-list --branches --no-walk) | cut -d "(" -f 2 | cut -d ")" -f 1
else
   echo "Sorry. The branch ${BRANCHNAME} does NOT seem to exist. Exiting."
fi

27
задан Community 23 May 2017 в 12:25
поделиться