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

data-cleanup-feature-gren.git checkout data-cleanup
main-grenen onto data-cleanup-grenen.git rebase main
data-cleanup-commits återskapas efter mains senaste commitdata-cleanup-commits får nya hasharObservera: Eventuella konflikter måste lösas manuellt.

git rebase -i <commit_hash>
Funktionalitet
Varning!
main$$
Här är historiken för data-validation-grenen innan vi redigerar commit-historiken.
$ 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
Så här redigerar vi commit-historiken med kommandona pick och fixup i den öppna editorn.
$ 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
...
Innan
$ 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
Efter
$ git log --oneline data-validatoin
mno6789 Add data validation function
xyz1234 New Main Branch Commit
vwx7890 Main Branch Commit
jkl2345 Initial commit
Följande commits slås samman till en

Merge
Rebase
Merge
För att integrera färdiga features och bevara utvecklingskontexten
Rebase
För att hålla feature-grenar uppdaterade med main, eller för att städa upp inför en merge
Kom ihåg
Avancerad Git