Gitignore Çalışmıyor

5 dk okuma süresi

Gitignore Çalışmıyor GitHub, kod işbirliği ve depo paylaşımı alanında öncü bir lider olarak ortaya çıkmıştır. GitHub, öncelikle kullanıcıların dağıtılmış sürüm kontrolü ve SCM (kaynak kod yönetimi) kontrolü sağlayan bir sürüm kontrol yazılımıdır. Bu platform dünyanın her yerindeki büyük işletmeler ve şirketler tarafından kullanılmaktadır.

Bunun gibi platformların teknik özellikleri ve sorunları var. Kodlayıcıları yaşadığı özel bir sorun .gitignore’un GitHub’da çalışmamasıydı. Platform .gitignore’ı görmezden geldi ya da kısmen çalıştı. Her durumda tamamen farklı bir senaryo olduğundan sorunun her durumda biraz farklı olabileceğini not etmek ilginçtir. Ancak, listelediğimiz çözümler evrensel olarak çalışacak düzeltmeleri içerecektir.

.Gitignore nedir?

Git (veya GitHub) çalışma dizininizdeki her dosyayı görür. Her dosyayı üç dosyadan biri olarak tanımlar:

  • Tracked: : Bu dosyalar daha önce geçmişte işlendi veya hazırlandı.
  • Untracked:  Bunlar daha önce yerleştirilmemiş veya kaydedilmemiş dosyalardır.
  • Ignored : Bunlar, Git’in tamamen yok saymasını söylediği dosyalardır.

Bu yok sayılan dosyalar senaryoyu senaryolara göre değişebilir ve çoğunlukla makine tarafından üretilen dosyalar veya yapay eserler oluşturur. Bu yaygın bir uygulamadır; kendi ihtiyaçlarınıza göre diğer dosyaları görmezden geliyor olabilirsiniz. Bu dosyaların bazı örnekleri:

  • Derlenmiş kod: Bu dosyalar genellikle .class, .pyc, .ccp vs. uzantısına sahiptir.
  • Gizli sistem dosyaları: Bunlar, sistem tarafından işlemleri için kullanılan, ancak DS_Store veya Thumbs.db gibi düz görünümlerden gizlenen dosyalardır.
  • Çıktı dizinleri oluşturun: Bunlar çoğunlukla / bin, / out vb. Dizinleridir.
  • Bağımlılık önbellekleri: Bu dosyalar / düğüm veya / paket modüllerinin içeriği olabilir.
  • IDE Konfigürasyon dosyaları: Bunlar çoğunlukla IDE yazılımınız tarafından oluşturulan veya yönetilen config dosyalarıdır.
  • Dosyalar zamanında oluşturulan: çalışma zamanında dosyaları oluşturmak bazı programlar vardır. Bu kodlardan herhangi biri çalıştırılırsa, bazı dosyalar çalışma klasörünüzde çalışma zamanında oluşturulabilir ve Git’de yok sayılabilir.

Görmezden gelmek istediğiniz hangi dosya olursa olsun, çalışma deponuzun kökünde kontrol edilen .gitignore adında özel bir dosyada izlenir. GitHub’ın konuyla ilgili resmi belgelerine göre, belirli bir gitignore komutu yok. Bunun yerine, yoksaymak istediğiniz dosyayı el ile düzenlemeniz gerekir. .Gitignore dosyası, çalışma depomuzdaki dosya adlarıyla eşleşen kalıpları içerir ve bunlar belirli bir dosyanın yok sayılıp kaldırılmayacağının belirlenmesine yardımcı olmak için kullanılır.

.Gitignore’un çalışmamasına ne sebep olur?

.Gitignore özelliği mükemmel çalışıyor olabilir, ancak düzgün yapılandırmamış olabilirsiniz. Tüm anketlerimizde, modülün gerçekten çalıştığı sonucuna vardık. Kodlayıcıların bu özelliği kullanamamalarının nedeni çoğunlukla dosyayı düzgün bir şekilde yapılandırmamış olmaları veya temel kodda yerine getirilmeyen bazı koşullar olmalarıdır.

İşte size işe yarayabilecek bazı çözümler. Her çözüm sizin durumunuzda geçerli olmayabilir; bu nedenle, başlangıç ​​koşulları karşılanmadığında bir sonrakine geçtiğinizden emin olun.

1. .gitignore Dosyasını Denetleme

.Gitignore dosyasının yanlış formatta oluşturulduğunu gördüğümüz ilginç bir vaka ortaya çıktı. Bu belirli sorun, kullanıcılar Windows işletim sisteminde varsayılan Not Defteri uygulamasını kullanarak dosyayı oluşturduğunda ortaya çıktı. Not Defterinin dosyayı ANSI biçimi yerine Unicode olarak yazdığı ortaya çıktı. Bu çözümde, Not Defterinin değişikliklerini doğru .gitignore biçiminde kaydedeceğiz ve bunun sorunu çözüp çözmediğini göreceğiz.

Not: Not Defteri’ni kullanarak yeni bir dosya oluştururken, .txt uzantısını dosyadan kaldırmanız gerekir.

  • Kodu veya Not Defteri’nde yeni bir metin belgesindeki değişiklikleri yazdıktan sonra, Dosya’yı tıklayın ve Farklı Kaydet’i seçin.
  • Şimdi Kodlama’nın önünde, ANSI’yi seçin. Şimdi .txt dosya uzantısını kaldırın ve dosyayı ‘ .gitignore ‘ adıyla kaydedin. Doğru dizini seçin ve kaydedin.
  • Şimdi dizine gidin ve doğru dosyanın oluşturulup oluşturulmadığını kontrol edin. Şimdi Git ile tekrar test edin ve Yoksay özelliğinin beklendiği gibi çalışıp çalışmadığını görün.

Geliştiriciler, Windows’ta varsayılan Not Defteri’ni kullanmaktan kaçınmalıdır. Bunun yerine, uygun ‘programcılar’ not defteri kullanmalısınız. Bazı örnekler Notepad ++ vb. İçerir. Bunlarda bunun gibi sorunlarınız olmaz.

Not: Dosyanız zaten UNICODE formatında kaydedilmişse, dosyanızın Git tarafından doğru bir şekilde algılanmasını istiyorsanız, içeriği ANSI formatında düzgün bir şekilde kaydetmelisiniz.

2. Yoksaymaya Çalıştığınız Dosyayı Kontrol Etme

.Gitignore’un üzerinde çalıştığı bir başka koşul da, dosyanızın henüz havuzun bir parçası olmaması gerektiğidir. Bu çok doğru, sanki bu doğruysa, dosya zaten depoya eklendiği için göz ardı edilmeyecektir. Git, adını veya kuralını .gitignore dosyasına yerleştirseniz bile bunu görmezden gelemez. Dolayısıyla, özünde Git yalnızca izlenmeyen dosyaları yok sayar.

Yapınıza (havuz) bakmalı ve o anda yok saymaya çalıştığınız dosyanın havuza eklenmediğinden emin olmalısınız. Öyleyse, dosyayı depodan kaldırmanız gerekir ve en son değişiklikler yapıldıktan sonra, adını .gitignore’a ekleyin (dosyanın içeriğini de kopyalayabilir ve sildikten sonra farklı bir adla çoğaltabilirsiniz)

3. Dosyaları Depoya Yeniden Ekleme

.Gitignore içine zaten kurallar eklediniz ancak yok saymak istediğiniz dosyalar zaten eklenmişse, dosyaları yeniden ekleyebiliriz. Ekleme, Git’in dizinindeki her şeyi kaldıracağımız ve daha sonra her şeyi tekrar havuzunuz da ekleyeceğimiz anlamına gelir. Dosyaları sıfırdan tekrar eklediğimizde, kurallar .gitignore’da eklediğiniz ve sadece doğru dosyalar eklendiğinde akılda tutulacaktır.

Not: Bu çözümü gerçekleştirmeden önce kodunuzu başka bir yerde yedeklemelisiniz. Sadece durumda bir yedek olması her zaman iyidir.

  • Aşağıdaki komutu yürütün. Bu, dosya dizinlerini git dizininden yinelemeli şekilde kaldırır ve kaldırır.
git rm -r --cached . 
  • Bu çalıştırıldıktan sonra aşağıdaki komutu yerine getirmelisiniz. Bu, tüm dosyalarınızı geri ekler ve .gitignore kurallara sahip olacağından yalnızca doğru dosyalar güncellenir.
git add . 
  • Şimdi aşağıdaki dosyaları kullanarak tüm dosyalarınızı dizine geri göndereceğiz
git commit -m ".gitignore is now working" 

Şimdi dosyalarınızı inceleyin ve sorunun çözülüp çözülmediğine bakın ve .gitignore’u herhangi bir sorun olmadan tekrar kullanabilirsiniz.

Yapılan Yorumlar
  • Caner Yakupoğlu dedi ki:

    git rm -r –cached .
    Yukarıdaki satırda sıkıntı var. Aşağıdaki gibi olması gerekiyor.
    git rm -r –-cached .

    • BESIR KURT dedi ki:

      Düzeltmeniz için çok teşekkür ederiz. Yanlız makalede de sizin dediğiniz gibi ( git rm -r –cached . ) gözükmektedir

Bir Yorum Yapın

x