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
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
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:
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.
Nasıl gıt deposu dosyaları mı?...
Nasıl geçerli Gıt benim şubesinden (iz...
Nasıl Git deposu için boş bir dizin ek...
Nasıl dosyaları zaman uyumsuz olarak y...
Zaten Git deposu için kaydedilmiş olan...