Git перезаписывает ветку производства с веткой происхождения - PullRequest
0 голосов
/ 26 декабря 2018

Так что по какой-то причине мы назвали основную ветвь, которая будет выпущена для этого приложения.Его нельзя переименовать из-за проблем с AWS.Случилось так, что мы попытались изменить его на master, затем ssh'ed на сервер для развертывания, изменили его на master и разорвали некоторые соединения.Поэтому я зашел на сервер, изменил ветку на выпуск и перезапустил сервер.Проблема квазирешена.Она исправила основную проблему, но не загружает какой-то JavaScript, который находится в исходном состоянии.

Существует: производственный выпуск (что является живым), исходный выпуск

В моем терминале я на исходном выпуске и выполняювыпуск git push.В итоге я получаю «Обновления были отклонены, потому что верх вашей текущей ветки находится позади его удаленного коллеги».

Поэтому я делаю рабочий выпуск git pull, и это удаляет мое приложение> assets> javascripts> папка импорта и всев этом.Затем я должен сделать git reset --hard origin / release, чтобы вернуть все обратно.

Я думал, что смогу сделать рабочий выпуск git push -f тогда, когда я на исходном выпуске, но я получаю "[удаленный отклоненный] выпуск -> выпуск (без ускоренной перемотки вперед)".

Есть идеи, как сделать так, чтобы удаленная производственная ветвь соответствовала исходной?

1 Ответ

0 голосов
/ 26 декабря 2018

Вы должны иметь возможность сделать текущую ветвь дочерней по отношению к origin/release с

git merge --no-ff -s ours origin/release

Получившийся коммит слияния затем может быть перенесен на источник / выпуск.

Что это делает:

  • git merge делает новый коммит слияния вашей текущей ветки, а аргумент
  • --no-ff говорит Git, что вы не хотите делатьперемотка вперед (т.е. просто переключение на «более новую» версию) и вынуждает его сделать коммит слияния
  • -s ours форсирует стратегию слияния, которая просто сохраняет текущее содержимое ветки, так что ваш результат будет техническидочерний элемент origin/release, даже если он на самом деле не содержит ни одного из своих изменений

Обратите внимание, что это нарушит многие предположения, которые обычно имеют люди, такие как «дочерние элементы фиксации X содержат изменения, сделанные в коммите X».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...