Просунуте 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
Щоб тримати фічегілки в актуальному стані з main або прибрати зайве перед злиттям
Пам'ятайте
Просунуте Git