# .gitignore

Adres: https://softwaredictionary.org/tr/terimler/gitignore
Kategori: Sürüm Kontrolü
Son güncelleme: 2026-09-30
Okunuşu: git ignor

Kısaca: .gitignore, Git'in izlememesi gereken bağımlılık, derleme çıktısı, günlük ve gizli bilgi gibi dosya ve klasörlerin kalıplarını listeleyen düz metin dosyadır.

## .gitignore dosyası nedir?

`.gitignore` dosyası, Git'e hangi dosyaları sürüm kontrolünün dışında tutacağını söyler. Her proje, commit edilmemesi gereken dosyalar üretir: `node_modules` gibi indirilen bağımlılıklar, derlenmiş çıktılar, günlük dosyaları, editör ayarları ve `.DS_Store` gibi işletim sistemi artıkları. Bunları `.gitignore` içine yazmak, onları `git status` çıktısından uzak tutar ve yanlışlıkla eklenmelerini önler.

Dosyadaki her satır bir kalıptır. `debug.log` gibi düz bir ad, o dosyayla her klasörde eşleşir; `dist/` gibi sondaki bir eğik çizgi yalnızca dizinlerle eşleşir; `*` her karakterle eşleşir, dolayısıyla `*.log` tüm günlük dosyalarıyla eşleşir; baştaki `!` ise önceki bir kalıbın dışarıda bıraktığı bir şeyi yeniden dahil eder. `#` ile başlayan satırlar yorumdur. Genellikle depo kökünde bir `.gitignore` bulundurur ve tüm ekibin aynı kuralları paylaşması için commit edersiniz; alt klasörlerin de kendi dosyaları olabilir.

`.gitignore`, taşınırken hazırlanan bir 'paketleme' listesine benzer: yeni evi karıştırmasınlar diye nakliyecilere hangi eşyaların geride kalacağını söyler. Çoğu dil ve framework için hazır şablonlar vardır ve birçok proje oluşturucu size otomatik olarak bir tane üretir.

En yaygın karışıklık, `.gitignore`'un yalnızca izlenmeyen dosyaları etkilemesidir. Bir dosya zaten commit edilmişse onu `.gitignore`'a eklemek Git'in onu izlemesini durdurmaz; önce `git rm --cached` ile dizinden (index) kaldırmanız gerekir. Ortam değişkenlerini içeren bir `.env` dosyası gibi bir sırrı yok saymak da sızıntıyı geri almaz: dosya bir kez bile commit edilip push edildiyse geçmişte kalır; bu yüzden onu iptal etmeli ve yenisini oluşturmalısınız.

## Önemli noktalar

- `.gitignore`, Git'in izlememesi gereken dosyaların kalıplarını listeler.
- Tipik girdiler bağımlılıkları, derleme çıktılarını, günlükleri ve gizli bilgiler içeren `.env` dosyalarını kapsar.
- Kalıplar joker karakterleri (`*`), dizin kurallarını (`dist/`), yorumları (`#`) ve istisnaları (`!`) destekler.
- Yalnızca izlenmeyen dosyaları etkiler; zaten commit edilmiş bir dosyayı izlemeyi bırakmak için `git rm --cached` kullanın.

## Örnek: .gitignore oluşturmak ve bir dosyanın izlenmesini bırakmak

```bash
# Create a .gitignore for a typical Node.js project
cat > .gitignore <<'EOF'
# Dependencies and build output
node_modules/
dist/
# Logs and local secrets, but keep the example file
*.log
.env
!.env.example
EOF

# Stop tracking a file that was committed before it was ignored
git rm --cached debug.log
git commit -m "Stop tracking debug.log"
```

## Sık sorulan sorular

**.gitignore dosyam neden çalışmıyor?**

En yaygın neden, kuralı eklemeden önce dosyanın zaten izleniyor olmasıdır; çünkü `.gitignore` yalnızca izlenmeyen dosyaları etkiler. `git rm --cached <file>` çalıştırıp (klasör için `-r` ekleyin) commit edin, hangi kuralın (varsa) eşleştiğini görmek için `git check-ignore -v <file>` kullanın.

**.gitignore dosyasını commit etmeli miyim?**

Evet. `.gitignore` dosyasını commit etmek, aynı yok sayma kurallarını ekipteki herkesle paylaşır. Kendi editörünüzün oluşturduğu dosyalar gibi kişisel kurallar için `.git/info/exclude` ya da `git config --global core.excludesFile` ile ayarlanan genel bir ignore dosyası kullanın.

**.gitignore sırları korur mu?**

Yalnızca sır hiç commit edilmediyse. Parola ya da API anahtarı içeren bir dosya bir kez bile push edildiyse depo geçmişinde kalır; bu yüzden açığa çıkan anahtarları iptal edip yenilerini oluşturun.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
