Допустим, у меня есть master
ветвь и project
ветвь, оба на нашем удаленном origin
.Работа в основном выполняется в ветке project
, но иногда исправление ошибки необходимо внести в master
, чтобы его можно было немедленно развернуть.В конце концов, когда проект будет завершен, я хочу иметь возможность объединить все коммиты в проекте в один коммит, а затем объединить его в master
.
Обычно с функциональными ветвями (которые не передаются в origin
), мы держим их в актуальном состоянии, просто перебирая с master
и продолжая наш веселый путь, но поскольку project
- это его собственная ветвь на origin
, я не уверен, как сохранить историю так, как яхотите его (коммит с master
, затем новый project
коммит, без идеальных коммитов слияния) из-за гарантий переписывания истории на удаленных ветвях.В настоящее время мы делаем это, удаляя удаленный project
и воссоздая его с правильной историей, но это определенно неоптимально.
Я в порядке с переписыванием истории на удаленном project
, потому что это всего лишь команда2 и мы понимаем последствия и готовы быть до смешного осторожными.Но как мне это сделать?