Я использую git в VSCodium и каждый раз, когда пытаюсь вытащить git, жалуется.
Заглянув в журнал, я вижу
> git pull --tags origin master
From https://github.com/MY/REPO
* branch master -> FETCH_HEAD
! [rejected] latest -> latest (would clobber existing tag)
9428765..935da94 master -> origin/master
Выполнение команды с --force
подсказками до следующего раза.
Мне непонятно, что здесь не так. Что случилось и как я могу решить эту проблему?
Я имею в виду: помимо уничтожения моего локального репо и повторного клонирования.
git pull --tags -f
.Поскольку вы говорите, что неясно, что идет не так, я предполагаю, что вы ни для чего не используете этот тег, а просто хотите выполнять свою работу.
Отключите этот параметр:
Теперь все готово.
Детальное объяснение:
Теги - это просто ссылки на определенные коммиты (как и имена веток). Основное отличие состоит в том, что
git
(насколько я знаю) предполагается, что теги не изменятся, а ветки должны обновляться.Итак, «ошибка» в том, что у вас есть в вашем локальном теге, называемый
latest
указывающим на фиксацию X, но на пульте дистанционного управления есть тег, называемыйlatest
указывающим на фиксацию Y. Если вы примените изменение с пульта дистанционного управления, вы перезапишете свой локальный тег.VSCode по умолчанию извлечет все теги, поэтому вы получите сообщение об ошибке.
Нет ничего плохого в наличии «движущегося» тега, вроде того
latest
, что VSCode не учитывает это (личное мнение).Кроме того, вы можете избежать проблемы, используя командную строку и вводя
git pull
команду вручную . В частности, вам нужно--tags
пропустить этот шаг процесса.Если вы это сделаете, ваши теги не будут обновлены, но я не думаю, что это вызывает беспокойство.
источник