Đoạn xem trước bài giảng

Gelişmiş Araçlar: rebase, stash, cherry-pick ve etiketler

Git'i sadece temel düzeyde bilenlerle onu özgüvenle kullananları ayıran araçlara geçiyoruz. Rebase'i merge'e alternatif olarak inceliyoruz — ne zaman geçmişi daha temiz hale getirdiğini, ne zaman ise kabusa çevirdiğini göstereceğiz. Stash ile yarım kalan işleri hızlıca 'bir kenara koymayı', cherry-pick ile belirli commit'leri taşımayı ve etiketlerle sürümleri işaretlemeyi ekliyoruz.

git rebase git stash git cherry-pick
Bạn sẽ học gì trong bài giảng này
  • Git stash'i, değişiklikleri kaybetmeden görevler arasında bağlam değiştirmek için kullanabileceksiniz.
  • Rebase ile merge arasındaki farkı anlayacak ve bağlama göre bilinçli bir seçim yapabileceksiniz.
  • İnteraktif rebase ile commit geçmişini düzenlemeyi ve sürümleri etiketlerle işaretlemeyi öğreneceksiniz.

Phần đầu bài giảng

Sorun: Bitmemiş işi nasıl erteleyebilirim?

  • Aniden gelen hata düzeltmesi çalışmanızı böler
  • Bitmemiş kod commit yapılamaz
  • Git stash — değişiklikler için geçici depolama
  • Hem izlenen hem de izlenmeyen dosyaları kaydeder
  • Çalışma dizinini temiz duruma getirir

Düşünün: yeni bir özellik üzerinde çalışmanın tam ortasındasınız ve aniden acil bir hata düzeltmesi geliyor. Her şeyi yarıda bırakmak istemezsiniz, ancak ham kodu da commit yapamazsınız. İşte tam bu gibi durumlar için git stash var — dijital geçici rafınız. Bu, oyunda duraklatma düğmesine basmak gibidir: mevcut ilerleme kaydedilir ve başka bir işle ilgilenebilirsiniz. Geri döndüğünüzde, her şey tam olarak bıraktığınız gibi olacak, hatta -u bayrağını unutmadıysanız izlenmeyen dosyalar bile. Bu sizi aynı anda birden fazla görevi aklınızda tutma zorunluluğundan kurtarır.

Değişiklikleri kaydetme ve görüntüleme

  • git stash save — değişiklikleri depoya kaydeder
  • git stash list — kaydedilen değişikliklerin listesini gösterir
  • Her stash’e benzersiz bir kimlik atanır
  • stash@{0} — en son kaydedilen değişiklik
  • Depo, çalışma dizininin durumunu saklar

Şimdi git stash’in pratikte nasıl kullanılacağını inceleyelim. git stash save komutu, çalışma dizinindeki tüm değişiklikleri ve indekslenmiş dosyaları kaydederek sizi temiz duruma döndürecektir. Çalışmalarınız kaybolmaz — özel bir depoya gider. Değişikliklerin kaydedildiğinden emin olmak için git stash list komutunu çalıştırın. stash@0 gibi benzersiz tanımlayıcılara sahip tüm ertelenmiş görevlerin bir listesini göreceksiniz. Bu, ilerlemenizi kaybetmeden görevler arasında hızla geçiş yapmanız gerektiğinde özellikle kullanışlıdır.

# Geçerli değişiklikleri kaydet
git stash save "WIP: Yeni giriş formu özelliği"

# Kaydedilen değişikliklerin listesini kontrol et
git stash list

# Son stash'in içeriğini görüntüle
git stash show -p

Ertelenen değişiklikleri geri getirme

  • git stash pop — son stash’i uygular ve siler
  • git stash apply — silmeden uygular
  • Kod değiştiyse çakışmalar oluşabilir
  • Çakışmalar elle çözülür
  • stash@{n} — belirli bir kayda erişmek için

Ertelenen işe dönme zamanı geldiğinde iki seçeneğiniz var. git stash pop komutu, son kaydedilen değişiklikleri uygulayacak ve stash listesinden silecektir. Değişiklikleri yalnızca görmek veya birden çok kez uygulamak istiyorsanız git stash apply kullanın — değişiklikler depoda kalır. Unutmayın: stash kaydedildikten sonra kodda bir şey değiştiyse çakışmalar oluşabilir. Bu durumda Git sorunu bildirir ve çakışmaları elle çözmeniz gerekir.

# Son ertelenen değişiklikleri geri getir
git stash pop

# VEYA silmeden uygula
git stash apply

# Belirli bir stash'i dizine göre uygula
git stash apply stash@{1}

Bài giảng đầy đủ dành cho thuê bao

Còn 25 slide nữa trong phiên bản đầy đủ.

Video, toàn bộ slide, ghi chú, bài kiểm tra, gia sư AI và phỏng vấn sẽ mở sau khi đăng nhập và đăng ký thuê bao.

Đăng nhập hoặc đăng ký Đăng ký thuê bao

Nội dung bài giảng

  1. Sorun: Bitmemiş işi nasıl erteleyebilirim?
  2. Değişiklikleri kaydetme ve görüntüleme
  3. Ertelenen değişiklikleri geri getirme
  4. Stash'in zarar verebileceği durumlar
  5. Dal birleştirme nasıl çalışır?
  6. Rebase: Commit geçmişini yeniden yazma
  7. Ne zaman ne kullanılmalı: Pratik senaryolar
  8. Rebase'in Tehlikeleri: Neler Yanlış Gidebilir?
  9. Rebase Nedir ve Neden Gereklidir?
  10. Rebase İşlemini Adım Adım Gerçekleştirme
  11. Rebase Sırasında Çakışmaları Çözme
  12. İnteraktif Rebase: Commit Geçmişi Düzenleyiciniz
  13. İnteraktif Rebase'in Temel Komutları
  14. Pratik: Geçmişi Mükemmelleştirme
  15. Dikkat: Yayınlanmış Geçmişi Değiştirmek
  16. Ortak Dallarda Neden Rebase Kullanılmamalı?
  17. Başarısız Bir Rebase'den Nasıl Kurtulunur?
  18. Geçmişi Güvenle Düzeltme
  19. Git'te Cherry-Pick Neden Kullanılır?
  20. git cherry-pick Nasıl Kullanılır?
  21. Ne Zaman Hangisini Seçmeli: Cherry-Pick vs Merge vs Rebase
  22. Git Etiketleri: Önemli Commit'ler için Yer İmleri
  23. Açıklamalı ve Hafif Etiketler Oluşturma
  24. Etiketleri Uzak Depoya Gönderme
  25. Senaryo: Geliştirme Ortasında Acil Düzeltme (Hotfix)
  26. Rebase ve Cherry-pick ile Değişiklikleri Birleştirme
  27. Sık Yapılan Hatalar ve Bunlardan Kaçınma Yolları
  28. Özet: Git Ustasının Yeni Cephaneliği

Bài viết liên quan đến bài học này

Tất cả bài giảng của khóa học

  1. Giriş: Sıfırdan Güvenilir Geliştiriciye Git
  2. Git Neden Gereklidir — ve Neden İşe Alırken Onsuz Yapamıyorlar
  3. Kurulum ve Yapılandırma: Git'i İlk Çalıştırmaya Hazırlama
  4. İlk Depo: init, add, commit ve İndeksin Sihri
  5. Geçmişi Okumak: log, diff, show ve Geçmişte Gezinti
  6. Dallar: Kodunuzun Paralel Gerçekliği
  7. Hataları Geri Alıyoruz: restore, reset, revert — Doğru ve Tehlikeli Kullanımları
  8. GitHub ve Uzaktaki Depolar: Kodunuz Bulutta
  9. Takım Çalışması: Fork'lar, Özellik Dalları ve Pull Request'ler
  10. Birleştirme Çakışmaları: Panik Yapmayın — Anlayın ve Çözün
  11. Gerçek Ekiplerde Git Süreçleri: Hangi İş Akışı Seçilmeli
  12. Gelişmiş Araçlar: rebase, stash, cherry-pick ve etiketler
  13. Final Proje: Gerçek Ekip Çalışmasını Simüle Ediyoruz