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



Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin

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, tüm dünyadaki büyük işletmeler ve şirketler tarafından kullanılmaktadır.



.gitignore



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. Ancak listelediğimiz çözümler, evrensel olarak işe yarayacak 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:

  • Takip edilen: Bu dosyalar ya kaydedildi ya da geçmişte daha önce hazırlandı.
  • İzlenmeyen: Bunlar daha önce hazırlanmamış veya işlenmemiş dosyalardır.
  • Yok sayıldı: 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ı yapılarıdır. 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ılıdı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.
  • Çalışma zamanında oluşturulan dosyalar: Çalışma zamanında dosya oluşturan bazı programlar vardır. Bu tür kodlardan biri çalıştırılırsa, çalışma klasörünüzde çalışma zamanında bazı dosyalar oluşturulabilir ve bunları Git'te göz ardı edebilirsiniz.

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ı düzgün ş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 biçiminde 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 ve seçin Farklı kaydet .

Farklı Kaydet - Not Defteri

  1. Şimdi önünde Kodlama , seçin ANSI . Şimdi .txt dosya uzantısını kaldırın ve dosyayı ' .gitignore ’. Doğru dizini seçin ve kaydedin.

Kodlama türü olarak ANSI'yi seçme

  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 defterini kullanmalısınız. Bazı örnekler şunları içerir: Notepad ++ vb. Bunlarda böyle 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ı . Bu çok önemli bir husus, sanki bu doğruysa, dosya olduğu gibi göz ardı edilmeyecek Çoktan eklenmiş depoya. 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 .

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. Eğer öyleyse, dosyayı depodan 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 yedek almak 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 ekleyecektir 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.

4 dakika okundu