Daha önce Github’dan bir proje veya kütüphane indirdiyseniz
veya git server ile yapılmış bir proje ile çalıştıysanız bu proje dosyasının
içinde .gitignore türünde bir dosya olduğunu görmüşsünüzdür.
Bu dosyayı istediğiniz bir text editöründe açarsanız proje içindeki klasör isimlerinin, dosya türlerinin, belge isimlerinin veya daha karmaşık yapıların olduğunu görecekseniz. Bu yazımda .gitignore ne işe yaradığını, nasıl kullanıldığını ve önemini anlatacağım.
Bu dosyayı istediğiniz bir text editöründe açarsanız proje içindeki klasör isimlerinin, dosya türlerinin, belge isimlerinin veya daha karmaşık yapıların olduğunu görecekseniz. Bu yazımda .gitignore ne işe yaradığını, nasıl kullanıldığını ve önemini anlatacağım.
.gitignore Git Server ile çalışırken proje dosyası içinde
belgelerde, dosya türlerinde, klasörlerde yaptığınız değişiklikleri Git Server
tarafından görmezden gelinmesini, izlenilmemesini sağlayabilirsiniz. Yani commit yaparken bu
dosyalar üzerinde işlem yapılmasını engelleyebilirsiniz. Kısaca .gitignore
nedir diye açıklayacak olursak, .gitignore Git Server projelerinde projeye
eklemek istemediğiniz veya yapılan değişikleri izlemek istemediğiniz belgeleri,
belge türlerini, klasörleri Git Server’a bildirdiğimiz dosya uzantısıdır.
Örneğin: .gitignore dosyasını bir text editöründe açıp “*.txt” gibi bir yazı
yazarsanız Git Server proje içindeki tüm .txt dosya türlerini görmezden
gelecektir. İsterseniz buradan devam ederek .gitignore kullanımına detaylı
bakalım. Bunun için, örneklerle devam edebiliriz.
*.php
#Proje içindeki .php uzantılı tüm dosya türlerinin
izlenmemesini sağladık
Mainpage.html
# Proje içindeki Mainpage.html dosyasının izlenmemesini
sağladık
!index.php
#Yukarıda tüm .php uzantılı dosya
türlerinin izlenmemesini sağlamıştık. !index.php ise izlenmeyen dosya türü olan
.php uzantılı dosyalar içinden index.php izelemesini sağlıyoruz. Yani “!”
işareti ters işlevini görerek dosyaların izlenmesini sağlar.
Assets/Videos
Bununla Assets/Videos içindeki
tüm dosyların izlenmemsini sağlamış oluyoruz. “#” işareti .gitignore içinde yorum
yazmak için kullanıldığı için açıklamaları da bu karakterle başlamayı tercih
ettim. .gitignore içinde, yukarıdaki temel kullanımların dışında bu
kullanımların kombinasyonları da birleştirilerek istenilen dosya ve dosya
uzantılarının izlenmesi engellenebilir. Bunlara örnek:
Assets/Images/*.gif
Assets/İmages/Explanation/*.txt
!Assets/İmages/Explanation/list.txt
Görüldüğü gibi .gitignore yapısı çok primitive ve basit olsa
da çok kullanışlıdır. Nerde diye sorabilirsiniz? Bunun içim biraz Git Server
yapısını ve kullanım alanlarına bakmak lazım. Bilindiği gibi Git Server sadece
metin içeriklerdeki değişiklikler için uygundur. Yani metin içerikler dışında
örneğin .zip dosyası, video, resim, muzik ve başka dosyalardaki değişikliklerin
Git Server tarafından izlenilmesinin bir mantığı da yoktur. Boşu boşuna işlem
süresinin artmasına neden olabilir. Git Server değişikliklerin algılanmasında
çok hızlı olsa da bunu metin içerikleri dışındaki içerikleri için yapamaz. Ama
projelerinizde muhakkak metin içerikli olmayan dosya türleri olacaktır. Git
Server tarafından bu dosyaların izlenmesini engellemenin yolu da .gitignore
kullanmaktır.
Yorumlar
Yorum Gönder