Önde gelen eğik çizgi yol adı başlangıcını eşleşir:
Ben lider çizgi sadece (http://git-scm.com/docs/gitignore itibaren)
.gitignore
dosyasının konumuna göre pathnames maç için kullanıldığını görüyoruz. Örneğin, "/*.c", "cat-file.c" ile eşleşir, ancak "mozilla-sha1/sha1.c" ile eşleşmez. i lider çizgi kaldırdığınızda
ne olur? Bildiğim kadarıyla ben anladım olarak, iki durum vardır: desen bir eğik çizgi içermez (veya sadece bir dizin eşleşmesi gerektiği anlamına gelir bir eğik çizgi içerir), arama içeride yapılır
- ise tüm dizin ağacı. Örneğin, desen
dir/
maç olacak<root>
.gitignore
dosyanın konumunu vb<root>/dir
,<root>/a/dir
,<root>/a/b/c/.../dir
,. - desen (son karakteri değil) Sondaki pozisyonunda olmayan bir çizgi içeriyorsa , o zaman sadece
.gitignore
dosya konumuna göreli yol adlarının ile eşleştirilir.
# Directory structure:
<root>
|- dir/
| |- test
|- src/
| |- dir/
| | |- test
test file is there only because Git does not track empty directories.
İlk test:
# .gitignore
dir/
# git status
nothing to commit
Yani Git hem dir
dizinleri görmezden geliyor
Bu i bu davranışı kontrol etmek yapılan örneklerdir. Bu, 1 numaralı vaka ile tutarlıdır: desende eğik çizgi yoktur (sondaki hariç), bu nedenle Git, tüm dizin ağacını izler ve desenle eşleşen her şeyi göz ardı eder.
İkinci test: Burada
# .gitignore
/dir/
# git status
Untracked files:
src/
, Git, kök dizin hemen altında desende lider eğik çizgi sayesinde sadece
dir
dizini önemsemiyor.
Üçüncü testi:
# .gitignore
dir/*
# git status
Untracked files:
src/
Bu vaka sayısı 2 ile tutarlıdır: desen içindeki bazı çizgi vardır, bu nedenle kök dizinden başlayarak bir yol olarak kabul edilir.
Şimdi gerçek soru için zamanı. en this gitignore file düşünelim: bunlar örneğin, dizin downloader/
görmezden zaman, aslında bütün dizin ağacında bulunan her downloader
dizini gözardı etmiyor? Git'in çalışmalarından önce gördüklerimden beri düşündüğüm şey buydu.
İçinde bir downloader
dizini bulunan bir özel modül olması durumunda, Magento'nun kökündeki olağan yanı sıra beklenmedik bir şekilde göz ardı edilecek mi? Bu, biraz önce bir hata meselesi, çünkü gerçekten de başıma geldi.
Yani, desen bir sürü eğik çizgi bulunur, bu yüzden doğru biçimde kökünden başlayarak yol adlarının karşı gelir, ancak birkaç vardır: (i btw bir örnek olarak sadece bahsediyorum) Magento .gitignore
dosyada downloader/
ya da errors/
gibi, yanılmıyorsam, potansiyel olarak tehlikelidir ve muhtemelen /downloader/
ve /errors/
olarak değiştirilmelidir.
Daha genel bir soru olarak, kökten açıkça başlayan bir yol adı seçmek ve eğik çizgi içeren desenlerde kullanmak istemediğimde, eğik çizgi içermeyen (sondaki hariç) kalıplar için her zaman en büyük çizgiyi kullanmalıyım. ya da her zaman açıklık için açık bir çizgi kullanmalı mıyım? Bu konu hakkında ne düşünüyorsun?
uzun yazı için okuma ve üzgün için teşekkür ederiz.
Büyük soruya ve gerçekten güzel bir açıklama, ben de bu rahatsız edildi ve araştırma bana açıkça şeyler yaptı. Bunu okuduktan sonra, kökten başlamalılarsa, her zaman eğik çizgi ile yola başlamanın iyi bir uygulama olduğunu söyleyebilirim, niyetini daha açık hale getirir. – Martinsos
Teşekkürler :) Niyetleri daha açık yapmak için eğik çizgileri kullanmakla ilgili notunuza katılıyorum. – swahnee
Bu, .gitignore belgelerinin bir parçası olmalıdır. Anlamak çok daha kolay! – rmorrin