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

  • TheGamer2323

    TheGamer2323

    25 Ocak 2009
  • xiaoyu85

    xiaoyu85

    20 ŞUBAT 2010
  • xSammyJoe1

    xSammyJoe1

    19 Temmuz 2011