Geavanceerd Git
Amanda Crawford-Adamo
Software and Data Engineer
Git rebase-opdracht:
git rebase <branch_name>

data-cleanup-feature-branch.git checkout data-cleanup
main op de branch data-cleanup.git rebase main
data-cleanup-commits worden opnieuw gemaakt na de laatste commit van maindata-cleanup-commits krijgen nieuwe hashesLet op: Als er conflicten zijn, moet je die handmatig oplossen.

git rebase -i <commit_hash>
Functionaliteit
Waarschuwing!
main$$
Dit is de geschiedenis van de branch data-validation vóór we de commits bewerken.
$ 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
Zo bewerk je de geschiedenis met pick en fixup in de editor.
$ 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
...
Voor
$ 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
Na
$ git log --oneline data-validatoin
mno6789 Add data validation function
xyz1234 New Main Branch Commit
vwx7890 Main Branch Commit
jkl2345 Initial commit
De volgende commits zijn samengevoegd tot één:

Merge
Rebase
Merge
Voor het integreren van afgeronde features, met behoud van context
Rebase
Om feature-branches bij te werken met main, of op te ruimen vóór mergen
Onthoud
Geavanceerd Git