ОК, я думал, что это простой сценарий git, чего мне не хватает?
У меня есть ветка 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
коммитов на master, поэтому я git checkout feature
и git rebase master
.Все еще хорош.Теперь у нас есть:
A--B--C------F--G (master)
\
D'--E' (feature)
Проблема: в тот момент, когда я хочу сделать резервную копию новой перебазированной feature
, разветвленной с git push origin feature
, push отклоняется дерево изменилось из-за перебазирования.Это можно решить только с помощью git push --force origin feature
.
Я ненавижу использовать --force
, не будучи уверенным, что мне это нужно.Так мне это нужно?Означает ли перебазировка обязательно , что следующая push
должна быть --force
ful?
Эта ветвь функций не используется другими разработчиками, поэтому у меня нет проблем deФакт с помощью принудительного толчка, я не собираюсь терять данные, вопрос более концептуальный.