Я пытаюсь отправить новую локальную ветку product-0.2
на удаленный, где уже есть тег с таким же именем (но сама ветка не существует)
git push -v --tags --set-upstream origin product-0.2:product-0.2
Pushing to https://****@github.com/mycompany/product.git
error: src refspec product-0.2 matches more than one.
error: failed to push some refs to 'https://****@github.com/mycompany/product.git'
То же самое с:
git push origin product-0.2:/refs/heads/product-0.2
Хотя работает наоборот, например, создать ветку product-0.1
, зафиксировать ее, а затем применить тег product-0.1
.
Некоторые люди обходят это, удаляя конфликтующий тег локально, затем нажимая ветку, а затем извлекая удаленный тег, но это кажется громоздким и подверженным ошибкам.
Как я могу создать свою ветку с минимальными усилиями?
Спасибо за ваш вклад
git
git-branch
Youri
источник
источник
refs/heads/product-0.2:refs/heads/product-0.2
, то есть без косой черты в начале, а также с указанием полной спецификации на локальной стороне.Ответы:
Следующая команда должна работать.
источник
refs/remotes/remote_name/remote_branch
master
и больше не мог нажимать на ветку с тем же именем.git push origin refs/heads/master
сделал трюк (затем я удалил этот тег, чтобы это прекратилось).Проверьте, какие теги связаны с вашей веткой:
В моем случае у меня был тег с таким же названием ветки. Удаление сработало:
источник
Измените имена.
Независимо от того, делаете ли вы это локально или удаленно, просто измените имена.
Тег и ветка в git по сути одно и то же: они представляют собой указатель на фиксацию. Разница в том, что указатель ветки продвигается по мере того, как вы делаете коммиты, в то время как тег остается статическим.
Однако вы можете выполнить операцию
git checkout
либо для ветки, либо для тега. Зачем тебе драться со всеми этими раздвоенными именами? Измените их.источник
product-0.2.0
с последней цифрой для «уровня патча», но все же у нас было соглашение об именах, и мы не сталкивались с проблемами в прошлом, когда ветвь создавалась до тега.Если вы пытаетесь отправить тег с тем же именем, что и ветка:
источник
Сегодня утром я пытался нажать на канонический репозиторий и получил следующую ошибку:
Это произошло потому, что я случайно создал главный тег локально:
Как только я удалил этот тег локально:
Я снова смог толкнуть.
источник
Это не удалось:
Хотя это сработало для меня:
источник
Если вы используете дерево исходных текстов, выполните следующие действия.
Попробуйте еще раз, чтобы внести изменения. теперь это будет работать.
источник