Geçmiş için Etkileşimli Yeniden Tabanlama
Göndermeden önce gönderim geçmişini yeniden yazmak, gönderimleri birleştirmek, sıralarını değiştirmek veya iletilerini düzenlemek için etkileşimli yeniden tabanlamayı kullanın.
Geçmiş için Etkileşimli Yeniden Tabanlama, CoddyKit'te ücretsiz bir Git & GitHub Professional Workflow dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Git & GitHub Professional Workflow öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Git & GitHub Professional Workflow kursu toplamda 4 dersten oluşur.
Etkileşimli Yeniden Temel Almayla Tanışın
Güçlü bir Git aracı olan etkileşimli yeniden temel alma özelliğine hoş geldiniz! Bu özellik, projenizin işleme geçmişini başkalarıyla paylaşmadan önce yeniden yazmanıza olanak tanır.
Bunu, işlemeleriniz için bir zaman makinesi gibi düşünebilirsiniz: Çalışmanızın açık ve doğrusal bir öyküsünü oluşturmak için değişiklikleri temizleyebilir, birleştirebilir veya yeniden sıralayabilirsiniz.
Geçmişi Neden Temizlemelisiniz?
Geçmişi neden yeniden yazmak isteyesiniz?
- Açıklık: Projenizin işleme günlüğünü okumayı ve anlamayı kolaylaştırın.
- Özlülük: Küçük, aşamalı işlemeleri tek bir anlamlı değişiklikte birleştirin.
- Hata ayıklama: Temiz bir geçmiş, bir hatanın nerede ortaya çıktığını bulmak için
git bisectgibi araçları kullanırken yardımcı olur. - Daha iyi Çekme İstekleri: İşbirliği yaptığınız kişilere özenle hazırlanmış bir değişiklikler kümesi sunun.
Etkileşimli Yeniden Temel Almayı Başlatma
Etkileşimli yeniden temel almayı başlatmak için git rebase -i komutunu kullanacaksınız. Ne kadar geriye gitmek istediğinizi belirtmeniz gerekir.
Örneğin, geçerli dalınızdaki son 3 işlemeyi yeniden temel almak için şunu kullanırsınız:
git rebase -i HEAD~3Bu işlem, son 3 işlemenizi ve kullanılabilir komutları gösteren bir düzenleyici açar.
Yeniden Temel Alma Düzenleyicisinin Komutları
Etkileşimli yeniden temel almayı başlattığınızda Git, işlemelerin ve yönergelerin bulunduğu bir metin düzenleyicisi açar. Her işleme bir komutla başlar:
pick: İşlemeyi olduğu gibi kullanır.reword: İşlemeyi kullanır, ancak iletisini düzenler.edit: İşlemeyi kullanır, ancak değişiklikleri düzeltmeniz için duraklar.squash: Önceki işlemeyle birleştirir ve iletileri bir araya getirir.fixup: Önceki işlemeyle birleştirir ve bu işlemenin iletisini siler.drop: İşlemeyi tamamen kaldırır.
Örnek: Bir İşleme İletisini Yeniden Yazma
Bir işleme iletisinde yazım hatası yaptığınızı varsayalım. Bunu düzeltmek için reword kullanabilirsiniz. Değiştirmek istediğiniz işlemenin yanındaki pick ifadesini reword olarak değiştirin:
pick 5a6b7c8 Add new feature pick 1d2e3f4 Fix typo in docs reword 9g0h1i2 Implement login screen
Düzenleyiciyi kaydedip kapattıktan sonra Git, 9g0h1i2 işlemesinin iletisini düzenlemenizi ister.
Örnek: İşlemeleri Birleştirme
Çoğu zaman tek bir işleme olabilecek birkaç küçük ve ilişkili işleme oluşturursunuz. Bunları birleştirmek için squash kullanın.
pick a1b2c3d Initial feature commit squash e4f5g6h Add more details fixup i7j8k9l Fix small bug
Burada e4f5g6h, iletileri birleştirilerek a1b2c3d içine alınır. i7j8k9l de a1b2c3d içine alınır, ancak iletisi silinir (fixup).
Örnek: İşlemeleri Kaldırma
Artık ihtiyacınız olmayan deneysel bir işlemeniz varsa bunu geçmişten kolayca drop ile kaldırabilirsiniz. pick ifadesini drop olarak değiştirmeniz veya satırı tamamen silmeniz yeterlidir:
pick 1122334 Initial setup drop 5566778 Test experimental feature pick 9900112 Add user authentication
Kaydettikten sonra 5566778 işlemesi dalınızın geçmişinden tamamen kaldırılır.
Örnek: İşlemeleri Yeniden Sıralama
İşlemelerin sırasını da değiştirebilirsiniz. Düzenleyicideki satırları kesip yapıştırarak yeniden düzenlemeniz yeterlidir. Git, değişiklikleri yeni sırayla uygular.
Özgün sıra:
pick abcdef1 Add feature A pick 1234567 Add feature B
Yeniden sıralanmış:
pick 1234567 Add feature B pick abcdef1 Add feature A
Dikkatli olun; işlemeler birbirine bağlıysa yeniden sıralama çakışmalara yol açabilir.
Altın Kural: Paylaşılan Geçmişi Yeniden Temel Almayın!
Bu çok önemlidir: Daha önce paylaşılan bir uzak depoya (GitHub veya GitLab gibi) gönderilmiş ve başkaları tarafından çekilmiş olabilecek işlemeleri asla yeniden temel almayın.
Yeniden temel alma, işleme kimliklerini yeniden yazar. Başkaları çalışmalarını özgün işlemelere dayandırdıysa yeniden temel alınmış işlemeleriniz tamamen farklı bir geçmiş olarak görünür; bu da ilgili herkes için büyük çakışmalara ve karmaşaya neden olur.
Yalnızca yerel dalınızda bulunan işlemeleri yeniden temel alın!
Yeniden Temel Alma Komutu Denetimi
Üç işlemeniz var: A (Initial), B (Minor fix), C (Refactor). B'yi A içine birleştirmek, A'nın özgün iletisini korumak ve ardından C'yi olduğu gibi bırakmak istiyorsunuz. Etkileşimli yeniden temel alma düzenleyicisinde (eskiden yeniye) hangi komutları kullanırsınız?
Etkileşimli Yeniden Temel Alma Özeti
Güçlü git rebase -i komutunu öğrendiniz!
- Yerel işleme geçmişinizi yeniden yazmanıza olanak tanır.
- İletileri
rewordile yeniden yazabilir, işlemelerisquashveyafixupile birleştirebilir, istenmeyen değişiklikleridropile kaldırabilir ve hatta işlemeleri yeniden sıralayabilirsiniz. - Altın kuralı her zaman hatırlayın: Paylaşılan bir uzağa daha önce gönderilmiş işlemeleri asla yeniden temel almayın.
Etkileşimli yeniden temel alma konusunda ustalaşmak, temiz ve anlaşılır bir proje geçmişi tutmanıza yardımcı olur!
Sıkça Sorulan Sorular
“Geçmiş için Etkileşimli Yeniden Tabanlama” dersi ücretsiz mi?
Evet — “Geçmiş için Etkileşimli Yeniden Tabanlama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Git & GitHub Professional Workflow kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Git & GitHub Professional Workflow kursu toplamda 4 dersten oluşur.
“Geçmiş için Etkileşimli Yeniden Tabanlama” dersinde ne öğreneceğim?
Göndermeden önce gönderim geçmişini yeniden yazmak, gönderimleri birleştirmek, sıralarını değiştirmek veya iletilerini düzenlemek için etkileşimli yeniden tabanlamayı kullanın. Git & GitHub Professional Workflow ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Git & GitHub Professional Workflow öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Git & GitHub Professional Workflow, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Geçmiş için Etkileşimli Yeniden Tabanlama” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Git & GitHub Professional Workflow dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Git & GitHub Professional Workflow dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Birleştirme Çakışmalarını Elle Çözme
- Geçmiş için Etkileşimli Yeniden Tabanlama
- Gönderimleri Seçerek Uygulama
- Çakışma Çözümlerini Yeniden Kullanmak için Git Rerere Kullanımı