Как удалить или засинхронизировать HEAD и удалённую ветку на GitLab?

Картина по git'у следующая:
60ce0de8992dd661014523.png
Имеется HEAD который я перемещал кое-как, не смог сделать
git push --force, выдавало офибки о "refs", но теперь я вручную откатил до требуемого состояния и сделал коммит, но запушить мне снова не даёт.
Вопрос: как мне сейчас удалить всё лишнее, в том числе HEAD, если я правильно понимаю, чтобы оставить текущюю локальную версию в ветке origin/main на серверах gitlab и на локале?
  • Вопрос задан
  • 47 просмотров
Решения вопроса 1
sergey-kuznetsov
@sergey-kuznetsov
Автоматизатор
Желтая бирка означает что ты сейчас не находишься ни в какой ветке (состояние отсоединенного указателя HEAD). Что ты собрался запушить? Ветка же нужна, которую пушить. HEAD это не ветка, это просто указатель на текущее состояние. Вот хороший мультик, который поможет тебе понять что происходит.

Тебе надо установить указатель твоей ветки на текущий коммит, на который указывает HEAD
git checkout -B имя_твоей_ветки HEAD
Тут важен регистр опции -B, так как ветка с таким именем уже где-то существует и мы принудительно пересоздаём её на новом месте. А находясь в ветке, мы уже сможем её запушить.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы