SORU
19 Kasım 2011, CUMARTESİ


Nasıl gıt deposu dosyaları mı?

Yeni başladım öğrenme git ve bunu yapmak için okumaya başladım the Git Community Book ve bu kitap derler SVN ve CVS deposu arasındaki fark dosyaları ve bu git depolar anlık tüm dosyaları.

Ama gerçekten anlık görüntü ile ne demek istediklerini anlayamadım. Git gerçekten her tüm dosyaların bir kopyasını bu onların açıklaması anladım çünkü commit yapar.

Eğer herhangi bir sevinirim gıt öğrenmek için daha iyi bir kaynak Varsa. PS:

CEVAP
19 Kasım 2011, CUMARTESİ


Git her Mağaza için tüm dosyaların tam bir kopyası, içerik zaten Git repo sunmak için anlık sadece dedi içeriğe işaret yerine yinelenen dışında taahhüt etmez.
Bu da aynı içeriğe sahip birkaç dosya sadece bir kez saklanır anlamına gelir.

Bir anlık bir taahhüt temel olarak, diriçerikbir dizin yapısı.

İyi referanslar

Sen gıt ile projenin bir anlık görüntüsünü kaydetmek istediğiniz Gıt tamamlama komutu söyleyin ve bu temelde proje içindeki tüm dosyaları o noktada neye benzediğine dair bir bildirim kayıtları

Lab 12 önceki görüntüleri almak için nasıl gösterir


progit book bir anlık daha kapsamlı bir açıklama vardır:

Git ve başka bir VCS arasındaki en büyük fark (Subversion ve arkadaşları dahil) Gıt verileri düşünmesi gibi.
Kavramsal olarak, çoğu diğer dosya sistemleri tabanlı bir liste olarak bilgi saklamak değiştirir. Bu sistemleri (CVS, Subversion, Mecburen, Çarşı, vb.) dosyaları ve değişiklikleri tim her dosya için yapılmış bir dizi gibi duruyorlar bilgileri düşünün

delta-based VCS

Git düşün bilmiyor veya verileri bu şekilde saklayın. Bunun yerine, Git mini bir dosya sistemi anlık bir dizi daha onun gibi veri düşünüyor.
Her zaman tamamlamak veya Gıt proje durumu kurtarmak, bu temelde tüm dosyaları o an neye benzediğine dair bir resim alır ve depolar anlık bir referans.
Eğer dosya değişmiş değil verimli olmak, Gıt dosyayı yeniden—zaten depolanmış önceki aynı dosyaya bir bağlantı deposu yok.
Git kendi verileri hakkında daha fazla gibi düşünüyor:

snapshot-based VCS

Bu Git ve hemen hemen tüm diğer VCSs arasında önemli bir fark vardır. Git en diğer sistemleri önceki nesil kopyalanmış bu sürüm kontrol hemen hemen her açıdan yeniden yapar. Bu inanılmaz derecede güçlü bazı araçlar ile mini bir dosya sistemi üst yerine bir VCS sadece üzerine kurulmuş gibi Git yapar.


Jan Hudec important comment Bu ekler:

Kavramsal düzeyde doğru ve önemli olsa da, depolama düzeyinde doğru DEĞİLDİR.
Gıt depolama için deltalar kullanın.
Sadece bu değil, ama başka bir sistem çok daha verimli. Çünkü değil tutmak dosya başına geçmiş, when it wants to do delta compression alır her damla, seçer bazı lekeler vardır muhtemelen benzer (kullanarak sezgisel içeren en yakın yaklaşım önceki sürüm ve diğerleri), çalışır oluşturmak için deltalar ve küçük bir tüyo. Bu şekilde (genellikle, sezgisel bağlıdır) benzeri dosyaların avantajı ya da önceki günden daha çok benzeyen eski sürümleri sürebilir. "Pack pencere" parametre ticaret delta sıkıştırma kalitesi için performans sağlar. Varsayılan (10) genellikle iyi sonuçlar verir, ama alan sınırlı ya da hızlı ağ transferleri, git gc --aggressive kullanır değeri 250 sağlar çalıştırmak çok yavaş, ama ekstra sıkıştırma sağlamak için geçmiş verileri.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:
Git

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • iNCH

    iNCH

    20 Temmuz 2009
  • L- Crysis

    L- Crysis

    30 Aralık 2011
  • Randall P Studios

    Randall P St

    27 AĞUSTOS 2009