CodeBlanks Logo Icon CodeBlanks

Object database

Blob, tree ve commit nesnelerini öğrenirsin.

Git object database nedir?

Git, dosya içeriklerini ve geçmiş bilgilerini nesne veritabanında saklar. Bu veritabanı .git/objects dizininde bulunur. Git nesneleri içeriklerine göre hash değerleriyle tanımlanır; aynı içeriğe sahip nesneler aynı kimliği alabilir.

.git/objects/
├── 1a/
├── 4f/
└── info/

Nesneler genellikle sıkıştırılmış biçimde tutulur ve Git tarafından gerektiğinde okunur.

Blob, tree ve commit nesneleri

Blob nesnesi dosya içeriğini, tree nesnesi dizin yapısını ve dosya adlarıyla nesne bağlantılarını temsil eder. Commit nesnesi ise bir tree nesnesine, yazar ve tarih bilgilerine, commit mesajına ve varsa ebeveyn commit bağlantılarına sahiptir.

Commit
  └── Tree
       ├── Blob (index.html)
       └── Blob (style.css)

Bu yapı sayesinde Git, bir projenin belirli bir andaki dosya ağacını ve geçmişini yeniden oluşturabilir.

Uygulama Dosya içeriğinin nesne kimliğini bul

Bir dosyanın içeriğini Git nesne veritabanına yazmadan hash değerini hesapla. hash-object komutunun -w seçeneğini kullanma; bu görevde amaç yalnızca nesne kimliğini görüntülemektir.

Başlangıç kodu

terminal
# Dosya içeriğinin hash değerini hesapla

Beklenen çıktı

8f3a2b1c4d5e6f708192a3b4c5d6e7f8091a2b3c

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Git nesne veritabanında bir dosyanın ham içeriğini hangi nesne türü saklar?

  • Tree
  • Commit
  • Ref
  • Blob Doğru cevap

Açıklama: Blob nesnesi dosya içeriğini saklar; dosya adı veya dizin yapısını tek başına taşımaz.

2 Dizin yapısını temsil eden nesne

Soru
Blob dosya içeriğini saklar. Dizin yapısını ve dosya bağlantılarını temsil eden nesne ise tree nesnesidir.____
Cevap
Blob dosya içeriğini saklar. Dizin yapısını ve dosya bağlantılarını temsil eden nesne ise tree nesnesidir.tree

Açıklama: Tree nesnesi, dizin girdilerini ve bunların blob veya başka tree nesneleriyle bağlantılarını tutar.

3 Git nesne türleri

Kavram Anlamı
Blob Dosya içeriğini saklar
Tree Dizin ve dosya bağlantılarını tutar
Commit Bir anlık proje durumunu kaydeder
Hash Nesneyi içerik üzerinden tanımlar

Uzman bölümündeki tüm dersler