Git Tingkat Lanjut
Amanda Crawford-Adamo
Software and Data Engineer
Perintah Git Rebase:
git rebase <branch_name>

data-cleanup.git checkout data-cleanup
main ke cabang data-cleanup.git rebase main
data-cleanup dibuat ulang setelah commit terbaru maindata-cleanup hasil rebase mendapat hash baruCatatan: Jika ada konflik, selesaikan secara manual.

git rebase -i <commit_hash>
Fungsionalitas
Peringatan!
main$$
Berikut riwayat cabang data-validation sebelum kita mengedit riwayat 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
Berikut cara mengedit riwayat commit dengan perintah pick dan fixup di 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
...
Sebelum
$ 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
Sesudah
$ git log --oneline data-validatoin
mno6789 Add data validation function
xyz1234 New Main Branch Commit
vwx7890 Main Branch Commit
jkl2345 Initial commit
Commit berikut digabung menjadi satu

Merge
Rebase
Merge
Untuk mengintegrasikan fitur yang selesai, sambil menjaga konteks pengembangan
Rebase
Untuk menjaga cabang fitur tetap selaras dengan main, atau merapikan sebelum merge
Ingat
Git Tingkat Lanjut