Düzeltme: Gitignore Çalışmıyor

GitHub, kod işbirliği ve depo paylaşımı alanında lider bir öncü olarak ortaya çıktı. GitHub, öncelikle kullanıcıların dağıtılmış sürüm kontrolü ve SCM (kaynak kodu yönetimi) kontrolüne izin veren 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ın yaşadığı belirli bir sorun .gitignore'un GitHub'da çalışmamasıydı. Platform ya .gitignore'u görmezden geldi ya da kısmen çalıştı. Her durum tamamen farklı bir senaryo olduğundan, sorunun her durumda biraz farklı olabileceğini not etmek ilginçtir. Bununla birlikte, 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ı şu üç dosyadan biri olarak tanımlar:

  • İzlendi: Bu dosyalar ya kaydedilmiş ya da geçmişte önceden hazırlanmışlardır.
  • Untracked: Bunlar daha önce hazırlanmamış veya kaydedilmemiş dosyalardır.
  • Yoksayılan: Bunlar, kullanıcının Git'e tamamen görmezden gelmesini söylediği dosyalardır.

Bu göz ardı edilen dosyalar senaryodan senaryoya değişebilir ve çoğunlukla makine tarafından oluşturulan dosyalardır veya yapılar oluşturur. Bu yaygın bir uygulamadır; kendi ihtiyaçlarınıza göre diğer çeşitli dosyaları görmezden geliyor olabilirsiniz. Bu dosyaların bazı örnekleri:

  • Derlenmiş kod: Bu dosyalar genellikle .class, .pyc, .ccp vb. Uzantılardadır.
  • Gizli sistem dosyaları: Bunlar, sistem tarafından işlemleri için kullanılan ancak düz görünümden gizlenen dosyalardır, örneğin DS_Store veya Thumbs.db, vb.
  • Çıktı dizinleri oluşturun: Bunlar çoğunlukla / bin, / out vb. Dizinlerdir.
  • Bağımlılık önbellekleri: Bu dosyalar / node veya / packages modüllerinin içeriği olabilir.
  • IDE Yapılandırma dosyaları: Bunlar, çoğunlukla IDE yazılımınız tarafından oluşturulan veya yönetilen yapılandırma dosyalarıdır.
  • Dosyalar zamanında oluşturulan: çalışma zamanında dosyaları oluşturmak bazı programlar vardır. Bu tür bir kod çalıştırılırsa, çalışma klasörünüzde çalışma zamanında bazı dosyalar oluşturulabilir ve bunları Git'te yok sayabilirsiniz.

Yok saymak istediğiniz dosya, .gitignore adlı özel bir dosyada izlenir ve bu dosya çoğunlukla çalışma havuzunuzun kök dizininde kontrol edilir. Konuyla ilgili GitHub'ın resmi belgelerine göre, belirli bir gitignore komutu yoktur. Bunun yerine, yok saymak istediğiniz dosyayı manuel olarak düzenlemeniz gerekir. .Gitignore dosyası, çalışma havuzunuzdaki dosya adlarıyla eşleşen kalıplar içerir ve bunlar, belirli bir dosyanın göz ardı edilip edilmeyeceğini belirlemeye 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 onu doğru şekilde yapılandırmamış olabilirsiniz. Tüm anketlerimizde modülün gerçekten işe yaradığı sonucuna vardık. Kodlayıcıların özelliği kullanamamasının nedeni, çoğunlukla dosyayı doğru şekilde yapılandırmamış olmaları veya temel alınan kodda karşılanmayan bazı koşullar olmasıdır.

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

1.Çözüm: .gitignore Dosyasını Kontrol Etme

.Gitignore dosyasının yanlış formatta oluşturulduğunu gördüğümüz ilginç bir durum ortaya çıktı. Bu özel sorun, kullanıcılar dosyayı Windows işletim sisteminde varsayılan Not Defteri uygulamasını kullanarak oluşturduğunda meydana geldi. Not Defteri'nin dosyayı ANSI biçimi yerine Unicode olarak yazdığı ortaya çıktı. Bu çözümde, Not Defteri'ndeki değişiklikleri 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şturduğunuzda dosyadan .txt uzantısını kaldırmanız gerekir.

  1. Kodu veya yeni bir metin belgesindeki değişiklikleri Not Defteri'nde yazdıktan sonra, Dosya'ya tıklayın ve Farklı Kaydet'i seçin .
  1. Şimdi Kodlamanı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.
  1. Şimdi dizine gidin ve doğru dosyanın oluşturulup oluşturulmadığını kontrol edin. Şimdi tekrar Git ile 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 bu tür sorunlar yaşamazsınız.

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

Çözüm 2: Yoksaymaya Çalıştığınız Dosyayı Kontrol Etme

.Gitignore'un çalıştığı diğer bir koşul, dosyanızın henüz deponun bir parçası olmamasıdır . Bu çok önemli bir husustur, çünkü bu doğruysa, dosya zaten arşive eklendiği için göz ardı edilmeyecektir . Gitignore dosyasına adını veya kuralını yerleştirseniz bile Git bunu göz ardı edemez. Yani özünde Git yalnızca izlenmeyen dosyaları yok sayar .

Yapınıza (arşiv) bakmalı ve şu anda yok saymaya çalıştığınız dosyanın arşive eklenmediğinden emin olmalısınız. Öyleyse, dosyayı havuzdan kaldırmanız ve en son değişiklikler yapıldıktan sonra adını .gitignore'a eklemeniz gerekir (ayrıca dosyanın içeriğini kopyalayabilir ve sildikten sonra farklı bir adla çoğaltabilirsiniz) .

3. Çözüm: Dosyaları Depoya Yeniden Ekleme

.Gitignore'a zaten kurallar eklediyseniz, ancak yok saymak istediğiniz dosyalar zaten eklenmişse, dosyaları yeniden ekleyebiliriz. Ekleme, her şeyi Git'in dizininden kaldıracağımız ve ardından her şeyi tekrar deponuza ekleyeceğimiz anlamına gelir. Dosyaları sıfırdan tekrar eklediğimizde, .gitignore içine eklediğiniz kurallar akılda tutulacak ve sadece doğru dosyalar eklenecektir.

Not: Bu çözümü uygulamadan önce kodunuzu başka bir yerde de yedeklemelisiniz. Her ihtimale karşı bir yedeğinizin olması her zaman iyidir.

  1. Aşağıdaki komutu yürütün. Bu, dosyalarınızın yollarını git dizininden özyinelemeli bir şekilde aşacak ve kaldıracaktır.
git rm -r --cached.
  1. Bu uygulandıktan sonra aşağıdaki komutu uygulamalısınız. Bu, tüm dosyalarınızı geri ekleyecek ve .gitignore kurallara sahip olacağından, yalnızca doğru dosyalar güncellenecektir.
git ekle.
  1. Şimdi tüm dosyalarınızı aşağıdaki kodu kullanarak tekrar dizine kaydedeceğiz:
git commit -m ".gitignore şimdi çalışıyor"

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