Подтвердить что ты не робот

"Обновления были отклонены, поскольку тег уже существует" при попытке нажать SourceTree

При попытке нажать через исходное дерево, я получаю следующую ошибку:

git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v --tags origin refs/heads/master:refs/heads/master 
Pushing to https://[email protected]/repo.git
To https://[email protected]/repo.git
 = [up to date]      master -> master
...
 ! [rejected]        example_tag -> example_tag (already exists)
updating local tracking ref 'refs/remotes/origin/master'
error: failed to push some refs to 'https://[email protected]/repo.git'
hint: Updates were rejected because the tag already exists in the remote.
Completed with errors, see above

Я не внес никаких изменений в этот тег, насколько я знаю. Как я могу это исправить?

4b9b3361

Ответ 1

Если вы не внесли локальные изменения в тег, который хотите сохранить, вы можете удалить тег, который был отклонен, поскольку он уже существует (example_tag в этом случае):

  • Щелкните правой кнопкой мыши тег и выберите его удалить (убедитесь, что снимите флажок флажок Удалить тег из всех пультов).
  • Выберите параметр Fetch (выборка и сохранение всех тегов локально не обязательно).
  • Теперь вы должны иметь этот тег, который был просто удален, и попытка Push больше не будет показывать это сообщение об ошибке.

Причина, по которой это распространено в SourceTree, заключается в том, что по умолчанию параметр Push all tags установлен на на. (Другой способ скрыть эту ошибку - снять эту опцию.)

Ответ 2

Вы также должны решить эту проблему в git bash (нажмите кнопку "Terminal" в интерфейсе исходного дерева). Тип:

git pull --tags

Ответ 3

Снимите флажок push all tags в нижней части пользовательского интерфейса, когда вы подтвердите свой толчок мерзавца

Ответ 4

git pull --tags работает очень хорошо, но иногда вы можете получить ошибку даже с помощью этой команды. Пример сообщения об ошибке:

 ! [rejected]        example_tag      -> example_tag  (would clobber existing tag)

Это можно решить с помощью команды: git pull --tags -f

Источник:

https://github.com/concourse/git-resource/issues/233

Ответ 5

Убедитесь, что вы сняли флажок "Push all tags" при нажатии.

enter image description here

Ответ 6

Да, действительно, сначала потяните теги перед собой push --tags. Решил мою проблему.

Ответ 7

Я решил проблему на SourceTree следующим образом:

  1. Удаление тега с выбором "Удалить тег со всех пультов"
  2. Воссоздание тега