Dallar: Kodunuzun Paralel Gerçekliği
Dallar Git'in kalbidir ve çoğu yeni başlayanın korkmaya başladığı yerdir. Dalları gizeminden arındırıyoruz: Bir dalın, dosyaların bir kopyası değil, yalnızca bir işaretçi olduğunu gösteriyoruz. Dalların nasıl oluşturulacağını, aralarında nasıl geçiş yapılacağını ve değişikliklerin nasıl birleştirileceğini inceliyor; ayrıca canlı örneklerle fast-forward ile üç yönlü birleştirme arasındaki farkı görüyoruz.
- Bir dalın hafif bir işaretçi olduğunu anlayacak ve herhangi bir nedenle dal oluşturmaktan korkmayı bırakacaksınız.
- Dal oluşturabilecek, aralarında geçiş yapabilecek ve değişiklikleri merge komutuyla birleştirebileceksiniz.
- Fast-forward ile üç yönlü birleştirmeyi ayırt edecek ve hangi senaryonun ne zaman uygulanacağını anlayacaksınız.
จุดเริ่มต้นของบทเรียน
Dallarda Dosya Kopyalama Efsanesi
- Dal, dosyaların bir kopyası değil, hafif bir işaretçidir
- Dal oluşturmak saniyenin çok küçük bir kısmını alır
- Depolama için sıfır ek yük
- Tüm dallar aynı dosyalarla çalışır
Her dal oluşturduğunuzda projenizin tamamen kopyalandığını hayal edin; büyük depolar için bu bir kabus olurdu! Neyse ki Git çok daha akıllıca tasarlanmıştır. Dal, değişiklik geçmişindeki belirli bir commit'e işaret eden bir işaretçiden ibarettir. Dosyaların hiçbir şekilde kopyalanması söz konusu değildir, bu da dallarla yapılan işlemleri anlık hale getirir. Bu, her değişiklik için paralel evrenler yaratmak değil, kodunuzun zaman-mekanındaki farklı noktalar arasında geçiş yapmak gibidir.
Bir Dalın İç Yapısı
- Dal = commit hash'ini içeren bir metin dosyası
- .git/refs/heads/ içinde saklanır
- Boyutu: tam olarak 40 karakter
- Yeni dal = hash değerine sahip yeni bir dosya
Git'in kaputunun altına bir göz atalım. Her dal, .git gizli klasörü içindeki basit bir metin dosyasıdır. Bu dosyada sadece kırk karakter saklanır: daldaki son commit'in hash değeri. Yeni bir dal oluşturduğunuzda, Git yeni bir dosyaya mevcut commit'in hash'ini yazar. Projenizde binlerce dosya olsa bile tüm süreç saniyenin çok küçük bir kısmını alır. Şimdi dallar arasında geçiş yapmanın neden anlık olduğunu anlıyor musunuz?
Kitabın Kopyası Yerine Ayraç
- Dal, kitaptaki bir ayraca benzer
- İçeriği kopyalamaz
- Anlık geçiş
- İstediğiniz kadar oluşturabilirsiniz
Kitap okumaya benzetelim. Bir sayfaya ayraç koyduğunuzda, kitabın tamamını kopyalamazsınız, değil mi? Sadece daha sonra dönmek üzere o yeri işaretlersiniz. Git'teki dal da tam olarak böyle çalışır; kodunuzun belirli bir durumuna işaret eden hafif bir etikettir. Bunlardan düzinelerce oluşturabilirsiniz ve diskte fazladan yer kaplamaz. Bu, bir projenin farklı sürümleriyle aynı anda nasıl çalışılabileceğine dair fikri tamamen değiştirir.
บทเรียนฉบับเต็มใช้ได้เมื่อสมัครสมาชิก
ฉบับเต็มมีสไลด์เพิ่มอีก 21 สไลด์
วิดีโอ สไลด์ทั้งหมด โน้ต แบบทดสอบ AI ติวเตอร์ และการสัมภาษณ์จะเปิดหลังเข้าสู่ระบบและสมัครสมาชิก
เข้าสู่ระบบหรือลงทะเบียน สมัครสมาชิกเนื้อหาบทเรียน
- Dallarda Dosya Kopyalama Efsanesi
- Bir Dalın İç Yapısı
- Kitabın Kopyası Yerine Ayraç
- Uygulamada Dal Oluşturma
- Git'te Dallar Nasıl Çalışır
- Yeni Bir Dal Oluşturmak
- Hızlı Oluşturma ve Geçiş
- Dal Geçişi Sırasında Neler Olur?
- Dal Birleştirme Ne Zaman Çakışmasız Gerçekleşir?
- Fast-Forward Birleştirme Nasıl Çalışır?
- Pratik Örnek: Feature Dalını main'e Birleştirme
- Dal Birleştirme Ne Zaman Otomatik Olarak Mümkün Olmaz?
- Birleştirme Çakışması Nasıl Görünür?
- Çakışma Çözümü Adımları
- Basit Birleştirme Neden Her Zaman Çalışmaz?
- Üç Yönlü Birleştirme Nasıl Çalışır
- Uygulamada Bir Birleştirme Commit'i Oluşturma
- Uzun Bekleme Birleştirmeyi Nasıl Zorlaştırır?
- Birleştirme Çakışmalarını Görmezden Gelmenin Tehlikesi
- Çakışmaları Çözmenin Doğru Yolu
- Yeni Bir Görev İçin Feature Dalı Oluşturma
- Birden Fazla Dalda Paralel Çalışma
- Değişiklikleri Ana Dal ile Birleştirme
- Özet: Dallar ve Birleştirmeler
บทความเกี่ยวกับบทเรียนนี้
- คำสั่ง Git: ชีตสรุปพร้อมตัวอย่างสำหรับใช้ทุกวัน
- git checkout, switch และ restore: ควรใช้อะไรเมื่อไร
- git merge: วิธีรวมบรานช์และแก้ความขัดแย้ง
- บรานช์ใน Git: git branch การสร้าง การสลับ และการลบ
- git worktree: วิธีทำงานกับหลายบรานช์พร้อมกัน
บทเรียนทั้งหมดในคอร์สนี้
- Giriş: Sıfırdan Güvenilir Geliştiriciye Git
- Git Neden Gereklidir — ve Neden İşe Alırken Onsuz Yapamıyorlar
- Kurulum ve Yapılandırma: Git'i İlk Çalıştırmaya Hazırlama
- İlk Depo: init, add, commit ve İndeksin Sihri
- Geçmişi Okumak: log, diff, show ve Geçmişte Gezinti
- Dallar: Kodunuzun Paralel Gerçekliği
- Hataları Geri Alıyoruz: restore, reset, revert — Doğru ve Tehlikeli Kullanımları
- GitHub ve Uzaktaki Depolar: Kodunuz Bulutta
- Takım Çalışması: Fork'lar, Özellik Dalları ve Pull Request'ler
- Birleştirme Çakışmaları: Panik Yapmayın — Anlayın ve Çözün
- Gerçek Ekiplerde Git Süreçleri: Hangi İş Akışı Seçilmeli
- Gelişmiş Araçlar: rebase, stash, cherry-pick ve etiketler
- Final Proje: Gerçek Ekip Çalışmasını Simüle Ediyoruz