Хорошо, я думал, что это был простой сценарий мерзавца, что я пропускаю?
У меня есть master
филиал и feature
филиал. Я работаю над master
некоторыми, над некоторыми feature
, а потом еще над некоторыми master
. Я получаю что-то вроде этого (лексикографический порядок подразумевает порядок коммитов):
A--B--C------F--G (master)
\
D--E (feature)
У меня нет проблем с обновлением git push origin master
пульта master
, а также с git push origin feature
(когда он включен feature
) для сохранения удаленной резервной копии моей feature
работы. До сих пор у нас все хорошо.
Но теперь я хочу перебазировать feature
поверх F--G
коммитов на мастере, поэтому я git checkout feature
и git rebase master
. Все еще хорош. Теперь у нас есть:
A--B--C------F--G (master)
\
D'--E' (feature)
Проблема: в момент, когда я хочу сделать резервную копию новой перебазированной ветки feature
сgit push origin feature
, толчок отклоняется, поскольку дерево изменилось из-за перебазировки. Это можно решить только с помощью git push --force origin feature
.
Я ненавижу использовать, --force
не будучи уверенным, что мне это нужно. Так мне это нужно? Есть ли перебазирования обязательно означает , что следующий push
должен быть --force
FUL?
Эта ветвь функций не используется другими разработчиками, поэтому де-факто у меня нет проблем с принудительным нажатием, я не собираюсь терять какие-либо данные, вопрос более концептуальный.