CodeBlanks Logo Icon CodeBlanks

Rebase

bir özellik dalını rebase ile doğrusal tarihçe kurarsın.

Rebase ile doğrusal tarihçe

Rebase, bir dalın commit'lerini başka bir dalın güncel ucunun üzerine yeniden uygular. Böylece iki dalın geçmişi birleştirme commit'i oluşturmadan daha doğrusal görünebilir. Özellik dalını güncel main üzerine taşımak için özellik dalındayken git rebase main komutunu kullanırsın.

git switch feature/search
git rebase main

Uygulama Rebase öncesi doğru dala geç

feature/catalog dalına geç ve bu dalı main üzerine rebase et. İki komutu sırayla yaz.

Başlangıç kodu

terminal
# Özellik dalına geç

# main üzerine rebase et

Örnek çözüm

terminal
git switch feature/catalog
git rebase main

Beklenen çıktı

Switched to branch 'feature/catalog'.
Successfully rebased and updated refs/heads/feature/catalog.

Uygulama Rebase edilmiş dalı ana dala aktar

feature/catalog dalının rebase işlemi tamamlandı. Ana dala geç ve güncellenmiş özellik dalını birleştir. İki komutu doğru sırayla yaz.

Başlangıç kodu

terminal
# Ana dala geç

# Güncellenmiş özellik dalını birleştir

Örnek çözüm

terminal
git switch main
git merge feature/catalog

Beklenen çıktı

Switched to branch 'main'.
Feature branch merged.

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Özellik dalındaki commit'leri güncel main dalının üzerine yeniden uygulamak için hangi işlem yapılmalıdır?

  • git reset main
  • git cherry-pick main
  • git revert main
  • git rebase main Doğru cevap

Açıklama: Özellik dalındayken git rebase main komutu, o dalın commit'lerini main dalının güncel ucuna yeniden uygular.

2 Özellik dalını güncelle

Soru
git switch feature/search
git rebase ____
Cevap
git switch feature/search
git rebase main

Açıklama: Rebase hedefi, özellik dalının üzerine taşınacağı ana dal olan main'dir.

3 Rebase kavramları

Kavram Anlamı
Rebase Commit'leri yeniden uygular
Hedef dal Commit'lerin taşınacağı dal
Doğrusal geçmiş Daha düz commit akışı
Özellik dalı Geliştirme commit'lerini tutar

Orta seviye bölümündeki tüm dersler

20 Orta seviye finali

  1. Dal yönetimi
  2. Rebase
  3. Çatışma
  4. PR akışı