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

data-cleanup.git checkout data-cleanup
main în data-cleanup.git rebase main
data-cleanup sunt recreate după ultimul commit din maindata-cleanup primesc hash-uri noiNotă: Dacă există conflicte, acestea trebuie rezolvate manual.

git rebase -i <commit_hash>
Funcționalitate
Avertisment!
main$$
Aceasta este istoricul ramurii data-validation înainte de editarea istoricului de commit-uri.
$ 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
Editarea istoricului de commit-uri folosind comenzile pick și fixup în editorul deschis.
$ 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
...
Înainte
$ 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
După
$ git log --oneline data-validatoin
mno6789 Add data validation function
xyz1234 New Main Branch Commit
vwx7890 Main Branch Commit
jkl2345 Initial commit
Următoarele commit-uri sunt combinate într-unul singur

Merge
Rebase
Merge
Pentru integrarea funcționalităților finalizate, păstrând contextul dezvoltării
Rebase
Pentru actualizarea ramurilor de funcționalități cu main sau pentru curățarea istoricului înainte de merge
Rețineti
Git avansat