У меня есть центральный (удаленный, исходный) репо моего проекта на BitBucket.org.
Клонирование Живых репо на моем сервере
клонированной Dev репо на моей машинеЧто такое правильный способ для исправлений?
Я разработка на Dev репо. И подтолкнули многие сделки к Центральному репо. Но live-репо находится в том же состоянии, когда оно было клонировано/инициировано.
Я не хочу делать git pull
на сервере Live, пока все мои разработки не будут завершены.
Но ... Я нашел ошибку в коде; который я должен был немедленно зафиксировать на сайте Live. Поэтому я пошел на сервер (который несколько коммитов за центральным) и внес изменения в код. Затем я поставил этот единственный файл и совершил его.
Теперь, когда я пытаюсь нажать это обязательство Центральной репо (так что я могу затем потянуть на Dev репо), я получаю следующее:
# git push -u origin master
Password:
To https://[email protected]/xxx/xxx.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://[email protected]/xxx/xxx.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again. See the 'Note about
fast-forwards' section of 'git push --help' for details.
Я знаю, что есть вопросы по SO о быстрой перемотки вперед. Но, я думаю, я сделал это неправильно. Как я могу правильно обрабатывать такой сценарий? И как мне оправиться от этого сейчас?
Вот как избежать проблемы в будущем, но не говорит, как восстановить ситуацию сейчас (когда изменение уже включено в ведущую ветку на реальном сервере) –
@JonathanWakely, добавлено. – Holloway
Спасибо. Что делать, когда, в будущем, я решил принести все файлы dev на live-сервере? В ветке bugfix все равно будет жить. Что делать с этой веткой? Должен ли я объединить его с мастером на dev? –