2011-11-04 19 views
251

, .gitignore dosyasına rağmen bir dosya eklemek için zorlanıyor mu? dosyası genellikle göz ardı edilirse.gitignore dosyasına rağmen zorlama ekle

:

+3

Daha iyi bir soru olabilir - neden bunu yapmak istersiniz? Bir dosyayı izlemek istiyorsanız, onu işaretleyin ('.' 'Ile' .gitignore' dosyasındaki desenini önleyin, ör. '! Dont/ignore/this/file'). –

+4

@OhadSchneider Oluşturma dosya (lar) ını başka bir şubeye zorlarsanız faydalıdır. Güvenli kurulumlar için StrongLoop gibi birkaç proje bunu yapıyor – Deminetix

+4

@OhadSchneider Bizim için, çoğu geliştiricinin, Visual Studio 2015 ile git ve kullanıcı klasörüne global bir gitignore eklenmesi daha fazla. Bu, * .dll ve * .exe gibi dosyaları hariç tutar. Bu, yalnızca inşa sırasında alınan nuget paketlerini kullanan yeni projelerimiz için harika, ancak daha az sayıda eski proje için hala çözümde manüel olarak başvurulan dll'leri kullanıyoruz. Bu projeler için, küresel geliştiricideki * .dll ve * .exe dosyalarını yorumlamak için her geliştiriciye söylemek yerine el ile eklemek isteriz. – Nullius

cevap

354

man git-add bakınız:

-f, --force 
     Allow adding otherwise ignored files. 

Yani Daniel Böhmer çalışma çözümü rağmen bu

git add --force my/ignore/file.foo 
+6

Uhm bu işe yaramaz, git durumunda, dosya hala gösterilmiyor – Mark

+4

Eh, gerçekten çalıştığından ve olduğundan emin olmak için test ettim. Ortamınızı açıklayabilir misiniz (OS, git sürümü ...)? Temelde yaptığım şey buydu: "echo"/foo ">> .gitignore; echo "bar"> foo; git add foo # bir hata atmalı; git add -p foo # works' (komut satırına yorum yazamaz, komutları uygulayamaz 1 1 –

+1

benim hatam - repo - repo - repo - artık çalışır.Teşekkürler – Mark

6

çalıştırın Ohad Schneider yorumunda daha iyi bir çözüm sundu ve eklemeye zorluyorsunuz - ileride yanlışlıkla yok sayılabilir (dosya silindiğinde olduğu gibi, bir taahhüt yapılır ve dosya yeniden yaratılır.

Öylece .gitignore dosyasında un-yoksaymalısınız: Unignore subdirectories of ignored directories in Git

+1

Bu doğruydu. - küçük veri dosyaları için seçenek belirleyin ve ardından bir klasörün biraz yeniden düzenlenmesi Yapılandırılmış ve tüm izlenen dosyaları clobbered. HOWEVER: '.gitignore'da' 'özel-dosya-isim.txt '' i, klasör hiyerarşisi olmadan kullanır, bu şekilde izleme, repo etrafında dosyayı izleyecektir. – Merlin

+0

Bu senaryoya bağlıdır, örn. bazen tüm klasörlerdeki "1.txt" i dışarıda bırakmak istersiniz ve bazen "folder1/*. txt" –

1

, geçici düzenlemeye gitignore dosyası dosyası eklemek ve sonra gitignore geri dönmek istiyorum bunu başaracak bir başka yolu. Biraz hacky Ben hissediyorum

+0

Katılıyorum, bu yapmak istediğiniz şey değil. – Merlin