Git Rebase
Son güncelleme
git rebase dalınızın commit'lerini başka bir dalın üzerine yeniden oynatacak şekilde taşır ve bir merge commit'i yerine düz, doğrusal bir geçmiş üretir. İnteraktif rebase (-i) daha ileri gider ve commit'leri birleştirmenize, yeniden sıralamanıza, düzenlemenize veya çıkarmanıza olanak tanır. Rebase commit'leri yeniden yazdığı için, bunu yalnızca henüz paylaşmadığınız çalışmalarda yapın.
Bunları terminal playground'da deneyin: tarayıcınızda gerçek bir kabuk, kurulacak hiçbir şey yok.
Söz dizimi
| Command | What it does |
|---|---|
git rebase main | Commit'lerinizi main üzerine yeniden oynatır |
git rebase -i HEAD~3 | Son 3 commit'i interaktif olarak düzenler |
git rebase --onto main old new | Bir commit aralığını main üzerine taşır |
git rebase --continue | Çakışmaları çözdükten sonra devam eder |
git rebase --abort | Rebase'i iptal eder, dalı geri yükler |
git pull --rebase | Merge yerine pull ve rebase yapar |
İnteraktif rebase anahtar kelimeleri
-i ile açılan düzenleyicide pick yerine bunlardan birini yazın.
| Keyword | What it does |
|---|---|
pick | Commit'i olduğu gibi tutar |
reword | Commit'i tutar, mesajını düzenler |
squash | Önceki commit'e katar, mesajları birleştirir |
fixup | Katar ama bu mesajı atar |
drop | Commit'i tamamen kaldırır |
git rebase SSS
git rebase ne yapar?
İnteraktif rebase nedir?
git rebase -i <base>, <base>'ten bu yana olan commit'leri listeleyen bir düzenleyici açar; burada onları yeniden sıralayabilir, birkaçını tek bir commit'e squash edebilir, mesajları reword edebilir, bir commit'i edit edebilir veya drop ile atabilirsiniz. Dağınık bir commit serisini paylaşmadan önce temizlemenin başlıca aracıdır.Rebase'in altın kuralı nedir?
Çakışmalı bir rebase'i nasıl düzeltir veya iptal ederim?
git add yapın, ardından git rebase --continue çalıştırın. Mevcut commit'i atmak için git rebase --skip, tamamen iptal edip dalı rebase başlamadan önceki haline döndürmek için git rebase --abort kullanın.Bunu çevrimiçi olarak deneyebilir miyim?
git rebase'i tarayıcınızdaki gerçek bir kabukta çalıştırmak için terminal playground'u açın, kurulacak hiçbir şey yok. Coddy'nin ücretsiz interaktif Git kursu da rebasing'i adım adım ele alır.