Zaawansowany Git
Amanda Crawford-Adamo
Software and Data Engineer
Polecenie Git Rebase:
git rebase <branch_name>

data-cleanup.git checkout data-cleanup
main na gałąź data-cleanup.git rebase main
data-cleanup są odtworzone po ostatnim commicie maindata-cleanup po rebase otrzymują nowe skrótyUwaga: Ewentualne konflikty należy rozwiązać ręcznie.

git rebase -i <commit_hash>
Funkcjonalność
Ostrzeżenie!
main$$
Poniżej przedstawiono historię gałęzi data-validation przed edycją historii commitów.
$ 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
Poniżej pokazano, jak edytować historię commitów za pomocą poleceń pick i fixup w otwartym edytorze.
$ 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
...
Przed
$ 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
Po
$ git log --oneline data-validatoin
mno6789 Add data validation function
xyz1234 New Main Branch Commit
vwx7890 Main Branch Commit
jkl2345 Initial commit
Następujące commity zostały połączone w jeden

Merge
Rebase
Merge
Do integrowania ukończonych funkcji z zachowaniem kontekstu rozwoju
Rebase
Do aktualizowania gałęzi funkcji względem main lub porządkowania historii przed scaleniem
Pamiętaj
Zaawansowany Git