git .gitignore dosyasındaki dosyaları yok saymak dışında tümünü ekle


120

Hiçbiri olmayan bir projeye kaynak denetimi ekliyorum. Sorun şu ki , git'e bir .gitignore dosyasıyla başlangıçta eklenecek çok sayıda dosya var, ancak .gitignore dosyasındaki bir şeyle eşleşen dosyaları dahil etmeden tüm dosyaları nasıl ekleyeceğimi çözemiyorum .

git add *

Yukarıdaki komut .gitignore tarafından göz ardı edilen dosyaları algıladığından herhangi bir dosya eklemeyecektir .

git add -f *

Yukarıdaki komut, görmezden gelmek istediğim dosyalar dahil tüm dosyaları ekleyecektir.

Öyleyse, hala .gitignore dosyasına bağlı kalarak tüm dosyaları nasıl ekleyebilirim ?

Yanıtlar:


251

Sanırım git add ., AREN'T'de belirtilen depoya tüm dosyaları ekleyecek olanı kastediyorsunuz .gitignore- bu değişiklikleri yazarak görebilirsinizgit status

.Bash genellikle bu reponun alt düzeyden yapmak eğer öyleyse, sen tüm dosyaları eklemek gerekir, yinelemeli bu dizinin ve tüm diğer dizinleri anlamına gelir.

Her zamanki git akışım, .gitignoredosyayı oluşturmak ve proje dosyalarını depoya eklemek. Ben test edeceğimiz .gitignoreyazarak dosyayı git statusben (sadece .php örneğin veya .mov .html DEĞİL, .mp3 veya) ekledik, sonra da olabilir o dosyaları görürseniz - dosyalarını içe sonra git add .tüm eklemek ve git commit -m "initial commit"için onları işle ve sen ayarlanmalısın.


3
Ya yaparsam bu bağlamdaki git add --all .farkı git add .nedir?
Katedral Pillon

2
git add ile aynıdır.
user454232

27
git add .

Bu, tüm yolları ekleyecek ve .gitignore'dan gelen eşleşmeleri yok sayacaktır.


13

Deneyin git add . ("geçerli dizindeki ve altındaki tüm dosyaları ekle" anlamına gelir)


5

Diğer bir seçenek de Git deposunun excludedosyasını kullanmaktır. Bu dosya bir .gitignoredosyaya benzer şekilde çalışır ancak depoya bağlı değildir.

Gönderen Github docs :

Bu tekniği, düzenleyiciniz tarafından oluşturulan dosyalar gibi diğer kullanıcıların oluşturmasını beklemediğiniz yerel olarak oluşturulmuş dosyalar için kullanabilirsiniz.

Adlı dosyayı açmak için favori metin düzenleyicisi kullanın .git/info/excludesizin Git depo kök içinde. Buraya eklediğiniz hiçbir kural iade edilmeyecek ve yalnızca yerel deponuzdaki dosyaları yok sayacaktır.

  1. Terminal'de Git deponuzun konumuna gidin
  2. Favori metin düzenleyicinizi kullanarak dosyayı açın .git/info/exclude
  3. Kuralları ekle excludeyaptığınız gibi dosyanın .gitignoredosya
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.