Вы сможете достичь намеченного результата, выполнив следующие действия:
git rebase -i HEAD~5
поменяйте 5 на столько коммитов, сколько требуется
Оттуда выВы сможете использовать такие вещи, как fixup
, которые уничтожат коммит и отбросят лог-сообщение коммита.
Не торопитесь с этим, убедитесь, что вы прочитали, что говорит вам git, и если вы сделаетеошибка - git reflog
обеспечил вам защиту - вы можете reset
в любой момент вашей истории и отменить многие вещи с помощью reflog
- это вывело меня из многих солений раньше!Подробнее здесь
Как только вы закончите интерактивную перебазировку и получите историю коммитов, выглядящую так, как вы этого хотите, вы можете выполнить слияние с ускоренной перемоткой вперед.в разработке, если вы закончили с этой функцией (см. ниже) - или продолжите работу с ней, пока не будете готовы.
git checkout develop
git fetch
git pull
git merge --ff-only feature_branch
A pull
сделает fetch
автоматически, но это личное предпочтениемой, чтобы увидеть, что обновляется до того, как я pull
.
Примечание: если вы отправляете pull-запрос, он сделает это за вас или предупредит, если не сможети скажу вам, что делать;)
Если вы продолжаете свою функцию, а develop
часто обновляется, то будет хорошей идеей поддерживать вашу функцию в курсе развития.
Вы можете сделать git rebase origin/develop
или просто develop
- но опять же, я предпочитаю быть в курсе с origin
- что я сначала fetch
.