Android

Git (.gitignore) içindeki dosya ve dizinleri yoksayma

Git - для новичков - #1 - основы

Git - для новичков - #1 - основы

İçindekiler:

Anonim

Genellikle, Git kullanan bir proje üzerinde çalışırken, belirli dosyaları veya dizinleri uzak depoya aktarılmaktan hariç tutmak istersiniz.

.gitignore dosyası .gitignore hangi dosyaları .gitignore gerektiğini belirtir.

Hangi Dosyalar Gözardı Edilmelidir?

Yok sayılan dosyalar genellikle platforma özgü dosyalar veya derleme sistemlerinden otomatik olarak oluşturulan dosyalardır. Bazı yaygın örnekler şunları içerir:

  • Günlük, kilit, önbellek veya geçici dosyalar gibi çalışma zamanı dosyaları. Parolalar veya API anahtarları gibi hassas bilgileri içeren dosyalar..Class veya .o gibi derlenmiş kod. /node_modules veya /node_modules .Build dizinleri gibi bağımlılık dizinleri /public , /out veya /dist .DS_Store veya Thumbs.db IDE gibi .DS_Store dosyaları veya metin düzenleyici yapılandırma dosyaları gibi.

.gitignore

Yerel bir .gitignore dosyası genellikle deponun kök dizinine yerleştirilir. Ancak .gitignore farklı alt dizinlerde birden çok .gitignore dosyası oluşturabilirsiniz. .gitignore dosyalarındaki desenler dosyanın bulunduğu dizine göre eşleştirilir.

Alt düzey dizinlerde (alt dizinler) bulunan dosyalarda tanımlanan kalıplar, üst düzey dizinlerdekilere göre önceliklidir.

Yerel .gitignore dosyaları diğer geliştiricilerle paylaşılır ve deponun diğer tüm kullanıcıları için yararlı desenler içermelidir.

Kişisel Yoksayma Kuralları

Yerel deponuza özgü olan ve diğer havuzlara dağıtılmaması gereken .git/info/exclude dosyasında ayarlanmalıdır.

Örneğin, bu dosyayı kişisel proje araçlarınızdan oluşturulan dosyaları yok saymak için kullanabilirsiniz.

Global .gitignore

Git ayrıca, yerel sisteminizdeki her Git deposu için yok sayma kurallarını tanımlayabileceğiniz genel bir .gitignore dosyası oluşturmanıza olanak tanır.

Dosya istediğiniz herhangi bir adla adlandırılabilir ve herhangi bir konumda saklanabilir. Bu dosyayı saklamak için en yaygın yer ana dizindir. Dosyayı manuel olarak oluşturmanız ve Git'i kullanmak için yapılandırmanız gerekir.

Örneğin, ~/.gitignore_global global Git yoksayma dosyası olarak ayarlamak için aşağıdakileri yaparsınız:

  1. Dosyayı oluşturun:

    touch ~/.gitignore_global

    Dosyayı Git yapılandırmasına ekleyin:

    git config --global core.excludesfile ~/.gitignore_global

    Dosyayı metin düzenleyicinizle açın ve kurallarınızı buna ekleyin.

Genel kurallar, özellikle hassas bilgi içeren dosyalar veya derlenmiş yürütülebilir dosyalar gibi asla işlemek istemediğiniz belirli dosyaları yok saymak için kullanışlıdır.

Önceden Taahhüt Edilen Dosyaları Yok Sayma

Çalışan kopyanızdaki dosyalar izlenebilir veya izlenemez.

Daha önce kaydedilmiş bir dosyayı yok saymak için, dosyayı dizinden kaldırmanız ve dizinden kaldırmanız ve ardından .gitignore içindeki dosya için bir kural eklemeniz .gitignore :

git rm --cached filename

--cached seçeneği --cached dosyayı çalışma ağacından --cached değil, yalnızca dizinden kaldırmasını bildirir.

Bir dizini özyinelemeli olarak kaldırmak için -r seçeneğini kullanın:

git rm --cached filename

Dosyaları özyinelemeli olarak silerken, “kuru çalıştırma” gerçekleştirecek ve hangi dosyaların silineceğini gösteren -n seçeneğini kullanın:

git rm -r -n directory

Hata ayıklama .gitignore Dosyası

Bazen, özellikle birden çok .gitignore dosyası veya karmaşık desen kullandığınızda, belirli bir dosyanın neden göz ardı edildiğini belirlemek zor olabilir. -v eşleşen desen hakkındaki ayrıntıları görüntülemesini söyleyen -v seçeneğiyle git check-ignore komutunun kullanışlı olduğu yer burasıdır.

Örneğin, www/yarn.lock dosyasının neden yok www/yarn.lock kontrol etmek için şunu çalıştırırsınız:

git check-ignore -v www/yarn.lock

Çıktı, gitignore dosyasının yolunu, eşleşen satırın numarasını ve gerçek deseni gösterir.

www/.gitignore:31:/yarn.lock www/yarn.lock

Komut ayrıca bağımsız değişken olarak birden fazla dosya adını kabul eder ve dosyanın çalışma ağacınızda bulunması gerekmez.

Yoksayılan Tüm Dosyaları Görüntüleme

--ignored seçeneğiyle git status komutu yok sayılan tüm dosyaların bir listesini görüntüler:

git status --ignored

Sonuç

.gitignore dosyası, dosyaların depoya teslim edilmesini dışarıda .gitignore olanak tanır. Dosya, hangi dosyaların ve dizinlerin göz ardı edilmesi gerektiğini tanımlayan globbing desenleri içerir.

gitignore.io, işletim sisteminiz, programlama diliniz veya .gitignore için .gitignore dosyaları oluşturmanıza izin veren çevrimiçi bir hizmettir.