hiç bilmeyenler için bir nebze rahat ettirecek yolu yazayım.
kullanıcı dizini altında .gitignore_global dosyası oluşturup içerisine
.env
.env*
.claude/
CLAUDE.md
AGENTS.md
gibi önemli olan ve kendi çalışma düzeninizde sık kullandığınız alışkanlıkları (config.php gibi) ekleyin.
komut satırından
git config --global core.excludesfile ~/.gitignore_global
komutunu çalıştırın.
yine kullanıcı dizininde .githooks klasörü oluşturun.
bu klasör içinde pre-commit isimli herhangi bir uzantısı olmayan dosya oluşturup içerisine
#!/bin/bash
set -e
git diff --cached --name-only | while IFS= read -r f; do
if git check-ignore -q "$f"; then
echo "❌ HATA: '$f' global gitignore'da, commit edilemez."
echo "➡️ Bu dosya olmadan diğer dosyaları commit et."
exit 1
fi
done
ekleyin.
terminalde dosyayı çalıştırılabilir olarak yetkilendirin
chmod x ~/.githooks/pre-commit
ve yine terminalde aşağıdaki komutu çalıştırın
git config --global core.hooksPath ~/.githooks
(benim örneğim MacOS için, windows kullanıyorsanız bunu tercih ettiğiniz ai'a verip windows için yeniden yaz diyebilirsiniz)
globalignore proje dizini içinde gitignore dosyası oluşturmasanız dahi çalışır.
en azından ai agent'ların bir anlık dikkatsizlik ile bu tarz dosya ve klasörleri git geçmişine eklemesine engel olursunuz.
.env dosyalarının yanlışlıkla sızdırılması uzun süredir bilinen bir risk. Ancak benzer bir hassasiyetin proje içindeki diğer konfigürasyon dosyaları için de gösterilmesi gerekiyor. Özellikle .claude/settings.local.json gibi dosyalar, API anahtarları, token’lar ve diğer kritik bilgileri çoğu zaman düz metin olarak barındırabiliyor.
Bu tür dosyaların versiyon kontrolüne dahil edilmediğinden ve uygun şekilde korunduğundan emin olun. Güvenlik sadece bilinen riskleri değil, gözden kaçan alanları da kapsar.
#claude #cluadecode #cybersecurity