Daha önce de söylendiği gibi, statü dışında bırakmak için şunu kullanın:
git status -uno # must be "-uno" , not "-u no"
Bunun yerine şu anda izlenmeyen dosyaları kalıcı olarak yok saymak istiyorsanız, projenizin kökünden başlatabilirsiniz:
git status --porcelain | grep '^??' | cut -c4- >> .gitignore
Sonraki her çağrı git status
bu dosyaları açıkça yok sayacaktır.
GÜNCELLEME : Yukarıdaki komutun küçük bir dezavantajı vardır: .gitignore
henüz bir dosyanız yoksa gitignore'unuz kendisini yok sayacaktır! Bunun nedeni dosyanın çalıştırılmadan .gitignore
önce oluşturulmasıdır git status --porcelain
. Dolayısıyla, .gitignore
henüz bir dosyanız yoksa şunu kullanmanızı öneririm:
echo "$(git status --porcelain | grep '^??' | cut -c4-)" > .gitignore
Bu , dosya oluşturulmadan önce tamamlanan bir alt kabuk .gitignore
oluşturur.
KOMUT AÇIKLAMASI çok oy aldığım için (teşekkür ederim!) Komutu biraz açıklamam gerektiğini düşünüyorum:
git status --porcelain
yerine kullanılır git status --short
çünkü manuel devletler "komut dosyaları için bir kolay ayrıştırma biçiminde çıkış verin. Bu kısa çıkışına benzer, ancak git sürümlerinde kararlı ve bağımsız kullanıcı yapılandırma kalacaktır." Böylece hem ayrıştırılabilirliğe hem de kararlılığa sahibiz;
grep '^??'
sadece ile başlayan ??
ve git durum kılavuzuna göre izlenmeyen dosyalara karşılık gelen satırları filtreler ;
cut -c4-
her satırın ilk 3 karakterini kaldırır, bu da bize izlenmeyen dosyanın sadece göreceli yolunu verir;
|
semboller borular , aşağıdaki komutun girişine önceki komut çıkış geçmesi;
>>
ve >
semboller yönlendirme operatörler Bir dosya veya üzerine yazma önceki komutun çıktısını eklemeye, / sırasıyla yeni bir dosya oluşturur.
BAŞKA VARIANT tercih edenler için kullanansed
yerine grep
ve cut
burada başka bir yol:
git status --porcelain | sed -n -e 's/^?? //p' >> .gitignore