2010-10-27 15 views
31

ben reklam öğelerini (Photoshop, Illustrator, Maya, vb) yönetmek için Git uygulamak çalışıyorum ve ben vb ziyade uzantısından daha dosya boyutu, konumu,Dosya boyutu ile gitignore?

dayalı Git dosyaları hariç tutmak istediğiniz Örneğin, tüm .avi dosyalarını hariç tutmak istemiyorum, ancak istemediğim bir dizi büyük + 1GB avi dosyası var.

Herhangi bir öneriniz var mı?

+1

Ben Git büyük, ikili dosyaları ile zayıf performansa sahip olduğu bilinmektedir uyarısında ediyorum ve bu sorun ancak şimdi yavaş yavaş çözülüyor olduğunu. Düz metnin yanı sıra şeyler için Git'i kullanmamanızı tavsiye ederim. – erjiang

+0

@erjiang: Anlaştık. Tabii; (küçük ikili dosyalar mükemmel para cezası dışında evet çok hoş diffed edilemez, ancak hiçbir VCS bunu yapabilir), OP diye açıkça büyük dosyaları izlemek istemediğini söylediğini, bu nedenle tüm iyi olabilir ! – Cascabel

+2

Bunu yapmak için kesinlikle yerleşik bir yol yoktur. İşlenecek tüm dosyaların boyutunu kontrol eden ve eşiğin üstündeyse iptal edilen bir ön bağlantı kancası ekleyerek bunu gerçekleştirebilirsiniz. Ek otomasyon ekleyebilir, ancak dikkatli olun. İstediğiniz son şey, önemli içeriği yanlışlıkla göz ardı ederek verileri kaybetmektir. (Artan tehlike için, olabilir: otomatik otomatik iptal yerine işlemek modifiye devam bile gitignore ekleyebilir ve, büyük dosyaları unstage.) – Cascabel

cevap

31

Ben .gitignore yeniyim, bu yüzden bunu yapmak için daha iyi yollar var olabilir, ama ben kullanarak dosya boyutuna göre dosyaların hariç oldum:

Açıkçası
find . -size +1G | cat >> .gitignore 

bu kodu çalıştırmak gerekecek Çok sayıda büyük dosya oluşturuyorsanız sık sık.

+0

Bu, WordPress'te yerleşik büyük siteleri dağıtırken 'wp-content/uploads' klasörünü kontrol etmenin harika bir yoludur. Bunun için teşekkürler. . 'Bulmak: Ben lider'/' –

+3

. -size + 1G | sed 's |^\ ./ || g' | cat >> .gitignore' – IanB

+1

çalışacak gitignore önce her dosyanın başlangıcından Bu çok eski bir iplik olmakla durumda birileri onun üzerine tökezledi ve bir pastable çözüme ihtiyaç kaldırmak için gerekli buldum – antass