.gitignore Oluşturucu (gitignore generator)

Kullandığın dilleri, framework’leri, editörleri ve işletim sistemlerini seç; hepsi tek bir .gitignore dosyasında birleşsin. Bölümler başlıklı, tekrar eden kalıplar ayıklanmış, sıra bozulmamış olarak çıkar. Şablonlar github/gitignore deposundan alınmıştır ve sayfayla birlikte gelir; çalışırken hiçbir servise istek atılmaz.

Teknolojini seç

Henüz bir şey seçmedin.

Diller ve framework’ler

Editörler ve IDE’ler

İşletim sistemleri

Kendi kalıpların

Buraya yazdıkların dosyanın en sonuna, kendi başlığı altına eklenir ve seçimini her değiştirdiğinde yerinde kalır. En sonda oldukları için şablonlardan gelen kuralları ezerler.

Önizleme

0 Satır
0 Bölüm
0 Kalıp
0 Ayıklanan tekrar


            

.gitignore dosyası nasıl oluşturulur?

  1. Teknolojini seç

    Kullandığın dilleri ve framework’leri listeden işaretle. Arama kutusuna yazarak da bulabilirsin; seçtiklerin üstte etiket olarak birikir.

  2. Editörünü ve işletim sistemini ekle

    VS Code, JetBrains, Vim gibi editörler ile macOS, Windows ve Linux şablonları ayrı gruplarda durur. Bunlar dosyanın en sonuna yazılır, tıpkı elle yazarken olduğu gibi.

  3. Kendi kurallarını yaz

    Yalnızca senin projene özel kalıpları alttaki kutuya ekle. En sonda durdukları için şablonlardan gelen kuralları ezerler ve seçimi değiştirdiğinde silinmezler.

  4. Kopyala ya da .gitignore olarak indir

    Önizlemede satır sayısını ve kaç tekrarın ayıklandığını görürsün. Dosyayı panoya kopyala ya da doğrudan .gitignore adıyla indirip deponun köküne koy.

Şablonlar nereden geliyor?

Buradaki şablonların neredeyse tamamı GitHub’ın kendi github/gitignore deposundan, olduğu gibi alınmıştır. Bu depo bu işin fiilî standardıdır: bir dilin ya da framework’ün hangi dosyaları ürettiğini en iyi bilenler oraya yazar, değişiklikler tartışılarak girer. CC0 1.0 ile yayımlandığı için kullanmak bir atıf yükümlülüğü doğurmaz; yine de burada yazıyor, çünkü listenin nereden geldiğini bilmek onu güvenilir kılan şeyin ta kendisi.

Şablonlar sayfanın kendisiyle birlikte gelir. Bu sayfa çalışırken GitHub’a ya da başka bir servise istek atmaz: dışarıdaki bir servis yavaşladığında ya da istek sınırına takıldığında bu araç etkilenmez, ürettiği dosya da bugün neyse yarın odur.

Upstream’de karşılığı olmayan birkaç bölüm — Django, Flask, React, Vue — Coderspace tarafından derlendi. Her bölümün başlığının hemen altında kaynağı yazar, yani ürettiğin dosyada hangi satırın nereden geldiği belli olur.

.gitignore’da sıra neden önemlidir?

Git bir dosyanın yoksayılıp yoksayılmayacağına karar verirken .gitignore’u baştan sona okur ve o dosyayla eşleşen SON satırı uygular. Bu yüzden iki dosyayı alt alta yapıştırmak masum bir işlem değildir: sonradan gelen bir kalıp, önceki bir istisnayı sessizce iptal edebilir.

Bu araç hiçbir satırı yerinden oynatmaz. Bölümler sabit bir sırayla yazılır — önce diller ve framework’ler, sonra editörler, en sonda işletim sistemleri — ve bir bölümün içindeki satırlar geldikleri şablondaki sıralarını korur. Kutuları hangi sırayla işaretlediğin çıktıyı değiştirmez; aynı seçim her zaman aynı dosyayı verir.

Kalıp Anlamı
build/ Adı build olan her dizini, hangi derinlikte olursa olsun yoksayar. Sonundaki eğik çizgi “yalnızca dizin” demektir.
/build Yalnızca deponun kökündeki build’i yoksayar; alt dizinlerdeki aynı adlı dosya ve dizinler etkilenmez.
*.log Uzantısı .log olan her dosyayı yoksayar. Yıldız eğik çizgiyle eşleşmez, ama kalıpta eğik çizgi olmadığı için kural her dizinde geçerlidir.
!.env.example Ünlem bir istisnadır: kendinden önce yoksayılmış bir dosyayı geri katar. Kendinden sonra gelen bir kalıp dosyayı yeniden yoksayarsa istisna işe yaramaz.
logs/* Dizinin içindekileri yoksayar, dizinin kendisini değil. İstisna yazabilmenin tek yolu budur: logs/ yazarsan Git dizine hiç girmez ve içindeki hiçbir istisna çalışmaz.

Tekrar eden kalıplar nasıl ayıklanıyor?

Python ile Django’yu, Java ile Gradle’ı birlikte seçtiğinde aynı kalıp birkaç bölümde birden geçer. Bunları körü körüne silmek doğru değildir: iki aynı satırın arasına bir istisna girmişse, ikincisini atmak o istisnayı kalıcı hale getirir ve dosyanın anlamı değişir.

Bu araç bir tekrarı yalnızca aradaki satırların sonucu değiştiremeyeceği durumda atar: olumlu bir kalıp, son yazılışından beri hiç istisna yazılmamışsa; bir istisna ise son yazılışından beri hiç olumlu kalıp yazılmamışsa. Diğer her durumda tekrar olduğu yerde durur. Kaç satırın ayıklandığını önizlemenin üstünde görürsün.

Altında hiç kalıp kalmayan açıklama satırları da düşer, böylece dosyada karşılığı olmayan yorum kalmaz.

Zaten commit’lenmiş bir dosyayı .gitignore kurtarmaz

En sık karşılaşılan yanılgı budur: .gitignore yalnızca Git’in henüz takip etmediği dosyalar için çalışır. Bir dosya bir kez commit’lendiyse, kalıbı sonradan eklemek onu takipten çıkarmaz.

Dosyayı diskte bırakıp takipten çıkarmak için git rm --cached ile indeksten sil, sonra değişikliği commit’le. Sızan şey bir parola, anahtar ya da token ise dosyayı silmek yetmez: geçmişte durmaya devam eder, o yüzden önce sırrı iptal edip yenisini üret.

Durum Ne yapmalı?
Dosya henüz commit’lenmedi Kalıbı .gitignore’a ekle; başka bir şey gerekmez.
Dosya takip ediliyor git rm --cached <file>
Dosyayı diskten silmeden indeksten çıkarır.
Bir dizin takip ediliyor git rm -r --cached <directory>
Sonra değişikliği commit’le.
Kural neden çalışmıyor bilmiyorum git check-ignore -v <file>
Hangi dosyadaki hangi satırın karar verdiğini söyler.
Sadece kendi makinene özel kurallar Depoya değil, .git/info/exclude dosyasına ya da global gitignore’a yaz.

Öne çıkan özellikler

Bir arada birleştirir

Dil, framework, editör ve işletim sistemi şablonlarını tek dosyada toplar. Her bölüm kendi başlığı ve kaynağıyla yazılır.

Tekrarları güvenle ayıklar

Aynı kalıbı iki kez yazmaz, ama bir istisnanın anlamını değiştirecekse tekrarı olduğu yerde bırakır.

Sıra hep aynı

Editör ve işletim sistemi bölümleri en sona yazılır. Aynı seçim, hangi sırayla işaretlenirse işaretlensin, aynı dosyayı verir.

Kendi kurallarını ekle

Yazdığın kalıplar en sonda durur, seçimi değiştirdiğinde silinmez ve şablonlardan gelen kuralları ezer.

Seçimini hatırlar

Son seçimin ve kendi kalıpların tarayıcında saklanır; sayfaya döndüğünde baştan işaretlemek gerekmez.

Dışarıya istek yok

Şablonlar sayfayla birlikte gelir. Üretim tarayıcında yapılır; ne GitHub’a ne başka bir servise istek gider.

Sıkça Sorulan Sorular

Git'in depoya almaması gereken dosyaları listeler: derleme çıktıları, bağımlılık dizinleri, editör ayar dosyaları, gizli anahtarlar. Dosya deponun köküne konur ve ekipteki herkes için geçerlidir. Alt dizinlere de ayrı bir .gitignore koyabilirsin; o dosya yalnızca bulunduğu dizin ve altı için çalışır.

Evet, araç zaten bunun için var. Kaç şablon seçersen seç hepsi tek dosyada, sabit bir sırayla toplanır: önce diller ve framework’ler, sonra editörler, en sonda işletim sistemleri. Aynı kalıp birkaç şablonda geçiyorsa tekrar ayıklanır; ama ayıklamak bir istisnanın anlamını değiştirecekse tekrar olduğu yerde bırakılır.

Şablonların neredeyse tamamı GitHub'ın github/gitignore deposundan olduğu gibi alınmıştır; CC0 1.0 ile yayımlanır. Sayfayla birlikte geldikleri için araç çalışırken GitHub'a istek atmaz. Ürettiğin dosyanın başında şablonların alındığı sürüm ve tarih yazar, her bölümün başlığının altında da kaynağı belirtilir.

Hayır. .gitignore yalnızca Git'in henüz takip etmediği dosyalara bakar. Takip edilen bir dosyayı diskte bırakıp indeksten çıkarmak için git rm --cached <dosya> çalıştır, sonra değişikliği commit'le. Sızan şey bir parola ya da token ise bu da yetmez: geçmişte kalmaya devam eder, önce sırrı iptal et.

En sık iki sebep var. Birincisi dosyanın zaten takip ediliyor olması. İkincisi sıra: Git eşleşen SON satırı uygular, yani sonradan gelen bir kalıp önceki bir istisnayı iptal edebilir. Ayrıca logs/ yazarsan Git o dizine hiç girmez ve içindeki !logs/x istisnası çalışmaz; bunun için logs/* yazmalısın. Hangi satırın karar verdiğini git check-ignore -v <dosya> söyler.

Evet. Kendi kalıplarını alttaki kutuya yaz; dosyanın en sonuna, kendi başlığı altına eklenirler. En sonda oldukları için şablonlardan gelen kuralları ezerler ve seçimini değiştirdiğinde silinmezler. Seçimin ve yazdıkların tarayıcında saklanır, sayfaya döndüğünde yerinde durur.

Kolayca hayalindeki işe kavuş!

Şimdi Kayıt Ol
Kolayca Üye Ol
Yazılım Bilgini Göster
Teklifleri Değerlendir