Здравствуйте, коллеги. У меня есть своя ветка, к примеру "example", в ней есть 5 коммитов и я хочу их объединить (засквошить). При вводе команды "git rebase -i HEAD~5", у меня в терминале появляется 20 разных коммитов от коллег. Как засквошить только мои коммиты , которые есть на ветке "example" ?
Rebase это всегда повторная сборка ветки. Старая ветка как бы удаляется и собирается новая, с таким же названием но новым содержимым. Вы точно уверены что хотите проделать это с общей веткой? Ведь тогда коллегам тоже у себя придётся удалить эту ветку и скачать заново вашу новую.
А чтобы объединить какие-то коммиты, вы должны поменять порядок коммитов в новой ветке, чтобы ваши коммиты оказались рядом. Только так. При этом как правило вылезут конфликты, из-за разного порядка коммитов. Вы точно хотите продолжать?
Мои код-ревьюэры просят обновляться от developa c помощью git pull -- rebase origin develop, в этом случае меня почему-то сбрасывает с моего последнего коммита в ветке на мой первый коммит, а мне это не нужно. Вот и возникла идея засквошить 5 коммитов в один и с него обновиться от девелопа с помощью rebase.
сбрасывает с моего последнего коммита в ветке на мой первый коммит,
Расшифруйте что вы имели в виду? Что именно сбрасывает? Покажите git status
Если уже ваш первый коммит конфликтует с origin/develop, то rebase остановится на этом первом коммите и будет ждать когда вы разрешите текущий конфликт и продолжите через git rebase --continue