#git #rebase #pull-request
#git #перебазирование #запрос на извлечение
Вопрос:
У меня есть PR с 8 коммит. Я открыл ветку в командной строке, а git rebase -i HEAD~8
затем выполнил процесс исправления любых конфликтов и свел его к одному коммиту. Когда я нажимаю обновленную ветку, она показывает 1 сообщение о фиксации, но 160 измененных файлов. Я изменил только около 10. So… Я выполнил перебазирование в ветку разработки, которая исправила количество измененных файлов, но все сжатые коммиты возвращаются.
Какой шаг / процесс я здесь пропускаю?
— редактировать —
- Я запускаю
git rebase -i HEAD~8
- Коммит, который мне нужно «сохранить», является последним. Если я оставлю это как
pick
и установлю остальные 7squash
, я получу сообщение об ошибке, поэтому я перемещаю его наверх - установите 7 под ним на squash
- сохранить с
:wq
- возникают конфликты, поэтому я разрешаю их в VSCode
git add .
затем используйтеget rebase --continue
- устраните любые другие конфликты
- выполните
git push -f
- вижу только 1 коммит, но теперь 160 изменений
- перебазируйте ветку разработчика в мою ветку
git rebase develop
- разрешите любые конфликты (например, 1 или 2)
- выполните
git push -f
- теперь изменения верны, но коммиты снова показывают 8 коммитов
Комментарии:
1. Покажите точные команды командной строки, которые вы использовали, потому что, если бы вы сделали это так, как я бы сделал, у вас все равно был бы только один коммит, поэтому вы, должно быть, не вводили команды, которые у меня были бы 🙂
2. Можете ли вы также более подробно объяснить, какие действия вы выбрали при запуске
git rebase -i HEAD~8
? Совместное сжатие коммитов не должно вызывать конфликтов, я предполагаю, что вы каким-то образом проинструктировали git не только делать это.3. @torek добавил подробности
4. @LeGEC добавил подробности
5. Хорошо, теперь у меня есть представление о том, что происходит. Позвольте мне перепроверить: работаете ли вы здесь с тремя репозиториями Git? Один находится на вашем компьютере, один — ваш форк GitHub, а третий — репозиторий GitHub, к которому вы делаете PR?