Preview ng leksyon

Geçmişi Okumak: log, diff, show ve Geçmişte Gezinti

Proje geçmişi sadece bir log değil, aynı zamanda kararların belgelendiği bir süreçtir. Geçmişi bilgilendirici bir şekilde okumayı öğrenelim: commit'leri filtreleme, sürümler arasındaki değişiklikleri inceleme ve SHA-1 hash'lerini korkusuzca anlama. Ayrıca 'iyi bir geçmiş' ile 'kötü bir geçmiş' arasındaki farkı ayırt etmeyi ele alacağız; bu, ekipteki algınızı doğrudan etkiler.

commit hash'i git log git diff
Ano ang matututunan mo sa leksyong ito
  • Depo geçmişini okuyabilecek ve ihtiyacınız olan commit'i yazar, tarih veya anahtar kelimeye göre hızlıca bulabileceksiniz.
  • Dosya sürümlerini farklı seviyelerde (çalışma dizini, indeks, commit) nasıl karşılaştıracağınızı anlayacaksınız.
  • Sektörde kabul görmüş standartlara (Conventional Commits) göre commit mesajları yazmayı öğreneceksiniz.

Simula ng leksyon

Commit Geçmişi Projenin Günlüğü Gibidir

  • Git log, geçmişi ters çevrilmiş bir günlük gibi gösterir
  • Her kayıt, değişikliklerin bir anlık görüntüsüdür
  • Kimin, ne zaman ve neyi değiştirdiğini saklar
  • Kodun evrimini görmeyi sağlar

Her Git'e değişiklik kaydettiğinizde, bir geliştirme günlüğüne girdi yaptığınızı düşünün. 'git log' komutu bu girdileri ters kronolojik sırayla gösterir – en yeniden en eskiye. Bu günlük, projenin tam kronolojisini saklar: kimin, ne zaman ve tam olarak hangi düzeltmeleri yaptığı. Bu sadece bir değişiklik listesi değil, kodunuzun evriminin canlı bir tarihidir. Bu geçmişi okuma ve analiz etme becerisi, ekip çalışmasında anahtar bir yetenektir. Sonuçta, commit geçmişi aracılığıyla projenin nasıl geliştiğini, hangi kararların alındığını ve nedenini görürsünüz. Şimdi tek bir commit'in yapısına daha yakından bakalım.

Commit Kaydını Okumak: Hash, Yazar, Tarih

  • commit: benzersiz bir hash tanımlayıcı
  • Author: değişiklikleri kimin ve ne zaman yaptığı
  • Date: commit'in zaman damgası
  • Mesaj: tam olarak neyin değiştirildiği

'git log' komutunun çıktısına bakın. Her kayıt uzun bir karakter dizisiyle başlar – bu commit'in hash'idir, benzersiz tanımlayıcısıdır. Sağında değişikliği yapan kişiyi ve düzeltmelerin yapıldığı tarihi görürsünüz. Altında, geliştiricinin değişiklikleri kaydederken yazdığı commit mesajı bulunur. Formata dikkat edin: önce yazarın e-posta adresi açılı parantez içinde, ardından zaman damgası gelir. Bu veriler, değişikliklerin bağlamını anlamaya ve gerektiğinde açıklama için yazarla iletişime geçmeye yardımcı olur. Şimdi commitment yapısını çözdüğümüze göre, hash'in ne olduğunu ve neden gerekli olduğunu anlayalım.

#!/bin/bash
cd ~/projects/git-course/
git log -1 --pretty=format:'commit %H%nAuthor: %an <%ae>%nDate:   %ad%n%n    %s'

Commit Hash'i – Geçmişe Açılan Anahtarınız

  • Hash, commit'in dijital bir parmak izidir
  • İçerik ve meta verilere bağlıdır
  • Tek bir karakterin değişmesi bile hash'i değiştirir
  • Herhangi bir sürüme tam olarak atıfta bulunmayı sağlar

Commit hash'i rastgele bir karakter dizisi değil, commit'in içeriğini benzersiz bir dizeye dönüştüren kriptografik bir fonksiyonun sonucudur. Commit'te bir bayt bile değiştirilirse, hash tamamen değişir. Bu, değişiklik geçmişinin bütünlüğünü garanti eder. Hash'i bilerek, bir kitaptaki yer imi gibi kodun herhangi bir sürümüne başvurabilirsiniz. Örneğin, hash ile birlikte 'git checkout' komutu sizi projenin o commit anındaki durumuna götürür. Bu, özellikle değişiklikleri geri almanız veya bir hatanın tam olarak ne zaman ortaya çıktığını analiz etmeniz gerektiğinde kullanışlıdır. Şimdi geçmişin yapısını anladığımıza göre, onu filtrelemeyi öğrenelim – çünkü gerçek projelerde binlerce commit olabilir.

Buong leksyon ay para sa subscription

26 pang slide sa buong bersyon.

Mabubuksan ang video, lahat ng slide, tala, pagsusulit, AI tutor, at interview pagkatapos mag-sign in at mag-subscribe.

Mag-sign in o magparehistro Mag-subscribe

Nilalaman ng leksyon

  1. Commit Geçmişi Projenin Günlüğü Gibidir
  2. Commit Kaydını Okumak: Hash, Yazar, Tarih
  3. Commit Hash'i – Geçmişe Açılan Anahtarınız
  4. Bir Yazara Ait Commit'ler Nasıl Bulunur
  5. Commit Tarihine Göre Filtreleme
  6. Commit Metninde Arama
  7. Filtreleri Birleştirme
  8. Commit Geçmişini Okuma Sorunu
  9. --oneline ile Kompakt Görüntüleme
  10. --graph ile Dallanma Görselleştirmesi
  11. --all ile Tam Resim
  12. git diff Nedir ve Neden Gereklidir?
  13. Çalışma Dizinindeki Değişiklikleri Karşılaştırma
  14. Commit'e Hazırlananlar: git diff --staged
  15. Herhangi İki Commit'i Karşılaştırma
  16. Belirli Bir Commit’i Detaylı Olarak İnceleme
  17. Uygulama: Commit’teki Değişiklikleri İnceleme
  18. Commit’teki Belirli Bir Dosyayı Görüntüleme
  19. Bir Dosyadaki Son Değişiklikleri Bulma
  20. Başkasının Kodunu Geçmiş Üzerinden Analiz Etme
  21. Bir Fonksiyonun Eklenmesini veya Silinmesini Bulma
  22. Commit Mesajları Neden Önemlidir?
  23. İdeal Bir Commit Mesajının Yapısı
  24. Conventional Commits Pratikte
  25. Kötü Commit'leri Yeniden Yapılandırma
  26. Neden 'fix' Commit'leri Bir Anti-Kalıptır
  27. Değişikliklerin Atomikliği: Tek Commit – Tek Görev
  28. git add -p: Temiz Commit'ler İçin Kurtarıcı Araç
  29. Özet ve Görev

Mga artikulo tungkol sa araling ito

Lahat ng leksyon ng kurso

  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