EGit on Eclipse: Как git push -force?

У меня возникла проблема с тем, что мое происхождение/ветвь не синхронизируется с моей локальной ветвью, см. ниже

My commit history

Когда я пытаюсь выполнить PUSH с моей локальной ветки "постановки" в ветку origin/staging, я получаю ошибку "отклонено - не переадресация".

Я использую Eclipse с модулем EGit на ПК с Windows.

Из другого сообщения здесь Я вижу, что могу решить свою проблему с помощью "git push -force origin staging", чтобы перегрузить начало/этап ветвь с моей локальной ветвью.

Тем не менее, я не вижу этот вариант с EGit, и я не вижу, как открыть консоль в EGit для этого?

Кто-нибудь знает, могу ли я сделать это в EGit?

ОК - исправлена ​​моя проблема. Похоже, что у меня были проблемы с Commits, которые не были отодвинуты в исходное/промежуточное. Нашел обзор здесь об использовании "git reset XXX: без --hard", который сбрасывает маркер ветки, но сохраняет локальные изменения для последующей поддержки.

Спасибо, Джейсон

Ответ 1

Я только что столкнулся с подобной проблемой, и вот что я сделал:

  • Команда → Push Branch...
  • Принудительно перезаписать ветку на удаленном, если она существует и расходится

Ответ 2

Вы действительно хотите перезаписать удаленную ветку и потерять все эти коммиты?

Если на удаленной ветке есть коммиты, которые не находятся в вашей локальной ветки, вы должны объединить их в свою локальную ветвь, прежде чем нажимать

Например, в локальной ветке staging:

git merge origin/staging

Однако, если вы уверены, тогда я предлагаю вам проверить параметр "Force update" на push refspec.

Немного сложно добраться, но руководство пользователя EGit объясняет это при обсуждении "Pushing to other Repositories" и в определенном разделе, который упоминается параметр "Обновление силы" находится в разделе Push Ref Specifications

Изменить 0: Что касается неудачного слияния, я еще не столкнулся с слиянием, которое выходит из строя, а не приводит к конфликту, и кажется, что это может быть известная проблема

Ответ 3

Если вы нажмете силовое нажатие, вы потеряете все, добавленное в origin/staging, после исправления недостающей строки Location: в заголовке, и вы будете разбивать все ветки. Я не думаю, что ты хочешь. Вы, вероятно, захотите сделать первый удар, тогда толчок будет работать нормально.