".gitignore" Dosyası Nedir?
`.gitignore`, bir Git reposunun kök dizinine yerleştirilen ve Git'e, sürüm kontrolü yaparken hangi dosyaları veya klasörleri kasıtlı olarak "görmezden gelmesi" gerektiğini söyleyen basit bir metin dosyasıdır. Bu, reponun gereksiz veya hassas dosyalarla dolmasını engeller.
Neden Gerekli?: Bir yazılım projesi üzerinde çalışırken, kodun kendisi dışında birçok dosya otomatik olarak oluşur. Bunlar arasında derlenmiş kodlar, programların ürettiği log dosyaları, işletim sistemine özgü geçici dosyalar (örneğin, macOS'teki `.DS_Store`) veya hassas bilgiler içeren konfigürasyon dosyaları (veritabanı şifreleri gibi) bulunabilir. Bu dosyaların, projenin sürüm geçmişine dahil edilmemesi gerekir çünkü: 1. Gereksizdirler: Diğer geliştiricilerin bu dosyalara ihtiyacı yoktur ve reponun boyutunu şişirirler. 2. Hassastırlar: Şifreler gibi gizli bilgilerin herkese açık bir repoda paylaşılması büyük bir güvenlik açığıdır. 3. Makineye Özeldirler: Her geliştiricinin kendi makinesinde farklı şekilde oluşabilirler ve bu da gereksiz "merge" çatışmalarına yol açar.
Nasıl Çalışır?: `.gitignore` dosyası, içine yazılan desenlerle (pattern) çalışır. Her satıra, görmezden gelinmesi istenen bir dosya veya klasör adı yazılır. Örneğin: `node_modules/`: `node_modules` adlı klasörün tamamını görmezden gelir. `*.log`: Uzantısı `.log` olan tüm dosyaları görmezden gelir. `secret_key.txt`: `secret_key.txt` adlı spesifik bir dosyayı görmezden gelir.
Önemi: `.gitignore` kullanmak, temiz, güvenli ve yönetilebilir bir repo tutmanın temel bir pratiğidir. Geliştiricilerin sadece projenin çalışması için gerçekten gerekli olan dosyaları takip etmesini sağlayarak, karmaşayı ve potansiyel güvenlik risklerini önler.