Хорошо, я думал, что это был простой сценарий мерзавца, что я пропускаю?
У меня есть 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должен быть --forceFUL?
Эта ветвь функций не используется другими разработчиками, поэтому де-факто у меня нет проблем с принудительным нажатием, я не собираюсь терять какие-либо данные, вопрос более концептуальный.