У меня есть две ветви (master
для производства и dev
для разработки) как на локальном, так и на удаленном.
dev
ветка связана с сервером разработки, а master
ветка связана с производством сервер.
Я работал как следующий алгоритм.
- Я работаю над веткой
dev
и pu sh для удаленной ветви dev
. - Затем я тестирую на сервере разработки и, если все в порядке, я объединяю локальную
dev
ветку с локальной master
веткой. - Затем я пу sh
master
разветвляю с удаленной master
branch.
Во время разработки я столкнулся с одной проблемой, заключающейся в том, что dev-сервер не работает должным образом. Но я думаю, что это не из-за кода. Я думаю, что ошибка будет связана с конфигурацией сервера разработки. Чтобы доказать это, я собираюсь перейти с ветки pu sh master
на удаленную ветку dev
и проверить, хорошо ли работает сервер разработки с рабочим кодом. Но когда я пытаюсь вставить sh локальный master
код ветки в удаленную dev
ветку, произошла ошибка.
$ git push origin master:dev
! [rejected] master -> dev (non-fast-forward)
error: failed to push some refs to 'https://gitlab.xxx.xx.xx/xxx.git'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Я думаю о git push -f
, но это единственный решение?
Как лучше всего решить эту проблему? Пожалуйста, помогите мне! Спасибо.