Вот что произошло:
У меня есть две удаленные ветки git: master
и feature1
. По какой-то причине я должен использовать git push --force
для ветки feature1
, но я не знал, когда я использую git push --force
, он также нажимает ветвь master
. Затем произошло бедствие, когда я переместил локальную ветвь master
в удаленный репозиторий.
К счастью, моя локальная ветка не слишком далеко от пульта. В основном, мой удаленный master
имеет два запроса на загрузку, объединенные перед моим локальным master
.
Итак, моя проблема: могу ли я снова открыть запрос на извлечение и повторить? Я заметил, что есть версия фиксации для запроса слияния, поэтому я волнуюсь, если я просто делаю новый запрос на тяну, это что-то испортит? В идеале я просто хочу повторить слияние двух запросов.
Есть ли какой-то другой способ оправиться от этой катастрофы? Я узнал, что --force
- действительно, очень плохой выбор.: (
Обновление, пример того, что произошло:
У меня есть следующие ветки:
master
feature1
origin/master
origin/feature1
Я объединяю два запроса на pull, используя GitHub Auto merge pull requests
. Затем я не получил ветвь master
на моей локальной машине. Таким образом, я думаю, что мой origin/master
- это две версии за удаленным мастером.
Затем я случайно использовал git -f push
, который перезаписал удаленную ветку, и теперь я потерял коммиты из запросов на перенос в удаленном репозитории.
Как я могу оправиться от него, не испортив историю других авторов?