SORU
6 Kasım 2011, Pazar


.gitignore tüm dosyaları özyinelemeli olarak *izin ver aldırma.foo

Zaten buna benzer birçok soru var ama cevap yok benim için çalışıyorsun.

*Dosyalar dışında benim depo altındaki klasörlerde her şeyi göz ardı etmek istiyorum.foo

(Herkes merak ediyor bu nasıl olabilir haklı - ben aslında yapma bir git deposu için "Mantık" projeleri - müzik Yazılımı mac - ama ben sadece saklamak için gerçek proje dosyaları *.mantık)

Bunu yazmak için gidiyorum, aynı tabakta gidiyoruz. Bak ne yapacağım, sıfırdan başlayarak:

Kurulum:

mkdir temp
cd temp
mkdir testdir
cd testdir
touch include.foo
touch dontinclude.bad
cd..
git init
touch .gitignore

Bu yapıştırın .gitignore

# Ignore all
/*

# But not these files...
!.gitignore
!*.foo

git durum

Ve sadece izlenmeyen dosya .gitignore

'git add .' yazmış eğer - değişiklik yok, sadece .gitignore görülüyor ve benim 2 dosyaları göz ardı edilir.

Bu neden çalışmıyor ve nasıl yukarıdaki işlem işe yaraması için değiştirebilir misin?

İşte aldığım yerde son derece benzer bir soru .gitignore dosyası. Git sürüm 1.7.7 (de denedim 1.7.3) - .gitignore to ignore all files, then recursively allows files of a certain type kullanıyorum

CEVAP
6 Kasım 2011, Pazar


Senin sorunun başında testdir, testdir içindeki her şey de dahil olmak üzere üst düzeydeki tüm dosyaları ve dizinleri eşleştirme /* desen yok sayılır.

İstediğin şey bu:

# Ignore everything
*
# Don't ignore directories, so we can recurse into them
!*/
# Don't ignore .gitignore and *.foo files
!.gitignore
!*.foo

git add . Bu bir config yaptığınızda, kararlı olmak .gitignore 11 ** dosyaları sadece değişiklikleri listeledik bulmak gerekir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Codecourse

    Codecourse

    3 ŞUBAT 2009
  • FOSDEM

    FOSDEM

    13 Ocak 2009
  • metallmanutza13

    metallmanutz

    13 NİSAN 2007