Birden fazla "core.excludesfile" .gitconfig dosyasında nasıl ayarlanır?


13

Dropbox kullanarak ubuntu ve Mac'te dosyaları senkronize ediyorum ~/.gitconfigve ~/.gitignorebunun için symlink oluşturdum.

Ve excludesfileböyle ilan edilir.

[core]
        editor = /usr/bin/vim
        excludesfile = /Users/username/.gitignore

Sorun ana dizini os farklıdır, bu nedenle excludesfile için birden çok ayar gerekir.

Çoklu tanımlamak mümkün mü core.excludesfile?

Yanıtlar:


17

Sadece bir tane olabilir core.excludesfile; son ayar kullanılan ayardır. Ancak, birden fazla dosyaya ihtiyacınız yoktur: git ~ana dizininiz için bir kısaltma olarak destekler .

[core]
    excludesfile = ~/.gitignore

Genel olarak, gerçekten çok sayıda dışlanan dosyaya ihtiyacınız varsa, en basit çözüm, diğerlerinin birleşimi olan tek bir dosya oluşturmak ve dosyalardan biri değiştiğinde dosyayı güncellemektir.


Benim .gitconfigaslında git tarafından sürüm kontrolü altında. Ne yazık ki git ~, tam yol olarak genişler $HOMEve .gitconfigkendini mutlak yolla güncelleştirir . Bu davranış gayet iyi, ancak daha sonra değişmemiş bir değişiklik olarak görünüyor, bu nedenle git update-index --assume-unchanged .gitconfig(dosyanın geri kalanıyla birlikte) genişletmeyi yoksaymak için kullanıyorum .
Dolph

2
@Dolph status-norepro Genişletmek için ne yaptınız ~? Anlıyorum: git config --global core.excludesfile '~/.gitignore'; git config --global core.excludesfile~/.gitignore(git 1.7.9.5)
Gilles 'SO- kötü olmayı bırak'

1
@Dolph Büyük olasılıkla bu bir kabuk genişlemesi idi; sonuçta, eğer yaparsanız git config --global core.excludesfile ~/.gitignoreo zaman aslında çalıştırılan şey git config --global core.excludesfile /path/to/home/.gitignore.
Radon Rosborough

1
@Gilles, ayrıca git-scm başına , ~/.config/git/ignoreeğer varsa dosyanın otomatik olarak yok sayıldığını ve global bir yapılandırmaya gerek olmadığını unutmayın.
Acumenus
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.