İleri Seviye Git
Amanda Crawford-Adamo
Software and Data Engineer
Git Rebase Komutu:
git rebase <branch_name>

data-cleanup özellik dalını checkout edin.git checkout data-cleanup
main dalını data-cleanup dalının üzerine rebase edin.git rebase main
data-cleanup commit’leri, mainin son commit’inden sonra yeniden oluşturulurdata-cleanup commit’leri yeni hash’ler alırNot: Çakışma olursa, bunlar elle çözülmelidir.

git rebase -i <commit_hash>
İşlev
Uyarı!
main gibi herkese açık dallarda rebase kullanmayın$$
Commit geçmişini düzenlemeden önceki data-validation dal geçmişi.
$ 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
Açık editörde pick ve fixup komutlarıyla commit geçmişini şöyle düzenleriz.
$ 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
...
Önce
$ 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
Sonra
$ git log --oneline data-validatoin
mno6789 Add data validation function
xyz1234 New Main Branch Commit
vwx7890 Main Branch Commit
jkl2345 Initial commit
Aşağıdaki commit’ler tek bir commit’te birleştirildi

Merge
Rebase
Merge
Tamamlanan özellikleri entegre etmek ve geliştirme bağlamını korumak için
Rebase
Özellik dallarını main ile güncel tutmak veya birleştirmeden önce temizlemek için
Unutmayın
İleri Seviye Git