Advanced Git
Amanda Crawford-Adamo
Software and Data Engineer
Příkaz Git Rebase:
git rebase <branch_name>

data-cleanup.git checkout data-cleanup
main na větev data-cleanup.git rebase main
data-cleanup jsou znovu vytvořeny za posledním commitem maindata-cleanup získají nové hashePoznámka: Pokud dojde ke konfliktům, je nutné je vyřešit ručně.

git rebase -i <commit_hash>
Funkce
Upozornění!
main$$
Historie větve data-validation před úpravou historie commitů.
$ 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
Úprava historie commitů pomocí příkazů pick a fixup v otevřeném editoru.
$ 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
...
Před
$ 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
Následující commity jsou sloučeny do jednoho

Merge
Rebase
Merge
Pro integraci dokončených funkcí a zachování kontextu vývoje
Rebase
Pro aktualizaci větví funkcí z main nebo pro úpravu před mergem
Pamatujte
Advanced Git