Продвинутый Git
Amanda Crawford-Adamo
Software and Data Engineer
Команда Git Rebase:
git rebase <branch_name>

data-cleanup.git checkout data-cleanup
main на ветку data-cleanup.git rebase main
data-cleanup воссоздаются после последнего коммита maindata-cleanup получают новые хешиПримечание: При наличии конфликтов их потребуется разрешить вручную.

git rebase -i <commit_hash>
Возможности
Внимание!
main$$
Вот история ветки data-validation до редактирования истории коммитов.
$ git log --oneline data-validation
abc1234 Optimize validation performance
def5678 Fix validation bug
ghi9101 Add data validation function
xyz1234 New Main Branch Commit
vwx7890 Main Branch Commit
jkl2345 Initial commit
Вот как редактируется история коммитов с помощью команд pick и fixup в открытом редакторе.
$ git rebase -i HEAD~3
pick ghi9101 Add data validation function
fixup def5678 Fix validation bug
fixup abc1234 Optimize validation performance
# Rebase xyz1234..abc1234 onto HEAD~3(xyz1234) (3 commands)
#
# Commands:
# p, pick <commit> = use commit
# f, fixup <commit> = like "squash", but discard this commit's log message
...
До
$ git log --oneline data-validation
abc1234 Optimize validation performance
def5678 Fix validation bug
ghi9101 Add data validation function
xyz1234 New Main Branch Commit
vwx7890 Main Branch Commit
jkl2345 Initial commit
После
$ git log --oneline data-validatoin
mno6789 Add data validation function
xyz1234 New Main Branch Commit
vwx7890 Main Branch Commit
jkl2345 Initial commit
Следующие коммиты объединены в один:

Merge
Rebase
Merge
Для интеграции готовых функций с сохранением контекста разработки
Rebase
Для актуализации feature-веток относительно main или очистки истории перед слиянием
Помните
Продвинутый Git