SORU
25 ŞUBAT 2010, PERŞEMBE


Git checkout 1.7.0 seyrek?

Yeni sparse checkout feature Gıt 1.7.0, sadece SVN yapabilirsiniz ne gibi bir alt dizin içeriğini almak mümkün mü? ** 15, ama tam dizin yapısını korur buldum. Ben sadece içeriğini istediğini düşün '' dizini, gerçek bir dizin adında olmadan''. perl

-- -- DÜZENLEYİN

Örnek:

Git benim depoyu aşağıdaki yolları içerir

repo/.git/
repo/perl/
repo/perl/script1.pl
repo/perl/script2.pl
repo/images/
repo/images/image1.jpg
repo/images/image2.jpg
repo/doc/
repo/doc/readme.txt
repo/doc/help.txt

İstediğim yukarıdaki depoyu üretmek mümkün bu düzen için

repo/.git/
repo/script1.pl
repo/script2.pl

Ancak mevcut seyrek checkout özelliği ile, sadece almak mümkün gibi görünüyor

repo/.git/
repo/perl/script1.pl
repo/perl/script2.pl

hangi istediğim bir şey DEĞİL.

CEVAP
26 ŞUBAT 2010, Cuma


Hala tüm dosyaları olan bütün depo, klon gerekiyor. Sadece tarihin sınırlı bir miktarda almak için --depth bayrak kullanabilirsiniz.

Depo klonlanmış sonra, okuma-ağaç numara "" .git/info/sparse-checkout dosya içinde dosya veya dizinlerin depoyu. görünüm sınırları

Şu an biraz soğuk olduğundan zayıflığına yönetmenize yardımcı olmak için hızlı bir senaryo yazdım:

#!/bin/sh
echo > .git/info/sparse-checkout
for i in "$@"
do
    echo "$i" >> .git/info/sparse-checkout
done
git read-tree -m -u HEAD

Eğer sen Kaydet bu komut dosyası olarak git-sparse.sh içine yolunu bildirdi çağırarak git --exec-path, ardından koşmak git sparse foo/ bar/ sadece "ödeme" foo ve bar dizinler, veya git sparse '*' için her şeyi tekrar tekrar.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • MysteryGuitarMan

    MysteryGuita

    16 HAZİRAN 2006
  • Rachel Raum

    Rachel Raum

    10 EYLÜL 2007
  • Videojug

    Videojug

    25 EKİM 2006