Git-flow терпит неудачу с фатальным сообщением: нет тега? / Не удалось добавить теги. Пожалуйста, запустите финиш еще раз, чтобы повторить попытку

Я использую git-flow для управления проектом. При выдаче git flow release finish foo я получаю следующее сообщение:

fatal: no tag message? 
Tagging failed. Please run finish again to retry. 

Вот последовательность шагов для воспроизведения с новым репозиторием git и одним файлом:

touch test.txt 
git init 
git add . 
git commit -m "Initial commit" 
git flow init 
[defaults accepted] 
git flow release start 1.0 
echo "Line 1" >> test.txt 
git add . 
git commit -am "Line added" 
git flow release finish '1.0' 

На этом этапе появляется сообщение об ошибке, указанное выше, и вызывается Vim для добавления тега. Когда я добавляю тег и сохраняю, я попадаю в главную ветку, а ветка release / 1.0 все еще существует. Есть идеи, что происходит не так? Версия Git flow - 0.4.1.

Спасибо.


person CuriousYogurt    schedule 28.06.2011    source источник
comment
Не удалось воспроизвести с помощью git flow версии 0.4.2-pre в Ubuntu Natty.   -  person Unapiedra    schedule 29.08.2011
comment
Какую операционную систему ты используешь? Я столкнулся с этой проблемой в Windows 7 при использовании MSYSGIT.   -  person WNRosenberg    schedule 17.05.2012


Ответы (3)


У меня была та же проблема, это была настройка core.editor, которая доставляла мне проблемы. Оказалось, что я установил Gedit (не знаю как). Попробуйте что-нибудь вроде git config --global core.editor "vim" или отредактируйте строку редактора в вашем .gitconfig.

person Coccodrillo    schedule 29.08.2011
comment
К вашему сведению, если вы хотите, чтобы gedit работал как основной редактор, его нужно запускать с аргументами -s и -w. - person hlovdal; 13.08.2013

перед завершением ветки выпуска / исправления добавьте тег вручную

git tag -a v0.1.2 -m "release_added"

пожалуйста, не добавляйте пробелов в сообщение, затем завершите выпуск / исправление, тогда вам будет предоставлено окно для добавления сообщения

если вы добавляете тег и у вас есть проблема в сообщении, измените сообщение, используя

git tag <tag name> <tag name> -f -m "<new message>"

пожалуйста, не добавляйте пробелов в сообщении

person User123456    schedule 19.11.2015
comment
это сделало это для меня, спасибо - person Eddie; 06.03.2020

Я решил это, добавив -n в конце команды, как показано ниже.

git flow hotfix finish 'hotfix name' -n

-n означает отсутствие тега.

person Burak Altin    schedule 21.07.2020
comment
-n должен стоять перед именем исправления, а не после. github.com/nvie/gitflow/wiki/Command-Line-Arguments# исправление - person nofinator; 23.12.2020