İçeriğe geç
parazade

Gitignore Nedir?

Yayın: · Son güncelleme:

Gitignore Nedir? Kısaca

Gitignore, Git'e hangi dosya ve klasörleri takip etmemesi gerektiğini söyleyen düz metin dosyasıdır. Proje kökünde .gitignore adıyla durur ve şifreler, geçici dosyalar ya da büyük bağımlılık klasörleri gibi içerikleri depoya girmekten korur.

Gitignore nedir?
İçindekiler
  1. Gitignore nedir?
  2. .gitignore dosyası nasıl yazılır?
  3. Sık yapılan hata: geç eklenen kurallar

Gitignore nedir?

Gitignore, adını "Git, bunu yok say" fikrinden alır. Dosyanın adı başında nokta ile .gitignore şeklinde yazılır. İçine yazdığınız her satır, Git'in görmezden geleceği bir dosya ya da desen tanımlar.

Bu dosya da depoya eklenir. Böylece ekipteki herkes aynı kurallarla çalışır ve biri yanlışlıkla kendi bilgisayarına özel bir ayar dosyasını ya da yüzlerce megabaytlık bir klasörü göndermez.

.gitignore dosyası nasıl yazılır?

Kural basit: her satıra bir desen. Basit bir örnek:

node_modules/
.env
*.log
.DS_Store

İlk satır bağımlılık klasörünü, ikincisi şifrelerin tutulduğu ortam dosyasını, üçüncüsü uzantısı .log olan tüm dosyaları dışarıda bırakır. Satır başına # koyarak açıklama yazabilirsiniz. GitHub, yeni depo açarken dil seçimine göre hazır gitignore şablonları sunar.

Sık yapılan hata: geç eklenen kurallar

Bu dosya yalnız henüz takip edilmeyen dosyaları etkiler. Bir dosyayı zaten commit ettiyseniz, sonradan listeye eklemek onu geçmişten silmez.

Örneğin içinde veritabanı şifresi olan .env dosyasını yanlışlıkla gönderdiniz. Önce git rm --cached .env ile takipten çıkarırsınız, sonra gitignore'a eklersiniz. Şifre geçmişte kaldığı için en doğru adım onu hemen değiştirmektir. Projeye başlarken gitignore'u ilk dosyalardan biri yapmak bu riski baştan ortadan kaldırır.

Sıkça Sorulan Sorular

Gitignore dosyası nereye konur?

Genelde deponun kök klasörüne konur. Alt klasörlere de ayrı gitignore dosyaları eklenebilir; bu dosyalar yalnız bulundukları klasör ve altındakiler için geçerli olur.

Gitignore'a yazdığım dosya neden hâlâ görünüyor?

Büyük ihtimalle o dosya kural eklenmeden önce commit edilmiştir. git rm --cached komutuyla takipten çıkarıp yeni bir commit yaptığınızda gitignore devreye girer.

İlgili terimler

GitGit, dosyalardaki değişiklikleri kayıt altına alan, eski sürümlere dönmeyi ve ekiplerin aynı proje üzerinde paralel çalışmasını sağlayan ücretsiz ve açık kaynaklı dağıtık sürüm kontrol sistemidir. 2005'te Linus Torvalds tarafından geliştirilmiştir.RepositoryRepository (repo, depo), bir projenin dosyalarını ve bu dosyalarda yapılan tüm değişikliklerin geçmişini bir arada tutan klasördür. Git gibi sürüm kontrol sistemleri her kaydı bu depoda saklar.Ortam Değişkeni(Environment Variable)Ortam değişkeni (environment variable), işletim sisteminde ya da bir programın çalıştığı ortamda tanımlanan ve programların okuyabildiği ad-değer çiftidir. Ayarları ve gizli bilgileri kodun içine yazmadan programa aktarmak için kullanılır.CommitCommit, Git'te dosyalarda yaptığınız değişikliklerin bir açıklama mesajıyla birlikte depoya kalıcı olarak kaydedilmesidir. Her commit projenin o anki fotoğrafı gibidir ve sonradan geri dönülebilir.Bağımlılık(Dependency)Yazılımda bağımlılık (dependency), bir projenin çalışmak için ihtiyaç duyduğu dış kütüphane, paket ya da modüldür. Bağımlılık eksik ya da uyumsuz sürümde olursa proje derlenmez veya hatalı çalışır.GitHubGitHub, Git ile yönetilen yazılım projelerini internette barındıran ve ekiplerin kod üzerinde birlikte çalışmasını sağlayan bir platformdur. Pull request, issue takibi ve otomasyon gibi iş birliği özellikleri sunar; 2018'den bu yana Microsoft'a aittir.