Вам нужно сначала перейти с производства на GitHub:
git push origin yourbranch --force
Сила будет гарантировать, что GitHub обладает тем, что имеет производство.
Вот возможности того, что вы можете сделать:
Вам нужно будет загрузить изменения в свой репозиторий разработки в репозиторий развертывания.В этот момент вы увидите, что история разветвляется (через git log --all --graph
или gitk --all
).
git fetch origin
Теперь вы можете перебазировать или объединить, чтобы ваши последние изменения следовали за изменениями, внесенными впроизводственный репозиторий.Это позволит вам вносить изменения в репозиторий развертывания на более позднем этапе.
Конфликты существуют по причине.Посмотрите на них и разрешите их, добавьте и зафиксируйте.
Если вы хотите, чтобы конфликты были разрешены путем использования того, что находится на производственной стороне, вы можете использовать стратегию "рекурсивного их":
git merge -s recursive -Xtheirs production/yourbranch
Если вы не хотите вносить никаких изменений со своей стороны, обычно выполняйте слияние, но, когда остановитесь в конфликтах, получите другую сторону слияния, добавьте и зафиксируйте.
git merge production/yourbranch
git checkout production/yourbranch -- .
git submodules update #this is optional and can be skipped if you don't have any submodules
git add -A
git commit
Теперь последующие нажатия на GitHub изРазработка и загрузка из GitHub в рабочем режиме будут работать.
Вы можете сбросить ветку, но это предполагает, что вы не хотите сохранять какие-либо изменения, сделанные в репозитории разработки.
git reset --hard production/yourbranch