2010-07-05 23 views
42

Küçük bir yan proje üzerinde çalışıyorum ve bağlantı dizeleri ve diğer kişiler tarafından görülmemesi veya kullanılmaması gereken api anahtarları ve değerleri kullanıyorum. Kaynak kontrolü için herkese açık bir GitHub hesabı kullanıyorum. Bu değerler web.config'te düz metin olduğunda, kaynak kontrolünü kullanmak için alışılmış yöntem nedir?Kaynak denetimi kullanırken bağlantı dizesi, kullanıcı adı, pw nasıl gizlenir?

Kodu kontrol etmeden önce değerleri el ile kaldırmam gerekir mi? Biz ayrı bir yapılandırma dosyalarında hassas ve/veya makineye özel yapılandırma tutmak

+1

Ben genellikle sadece kontrol önce çıkarın, ama bu er: Daha sonra denetlemek istediğiniz DO değişiklik yaparsanız bunu kontrol korkusu olmadan içine bilgi

çalıştırabileceğiniz içinde ror eğilimli ve rahatsız edici. Bu konuda da bazı fikirler duymak isterim. –

cevap

31

ardından

<connectionStrings configSource="cstrings.config"/> 

... yani gibi Web.config ve cstrings kontrol edebilirsiniz Bu şekilde dahil etmek ConfigSource kullanın. dev bir makinede kullanılabilen genel bir değere sahip olan config dosyası. (ör. (yerel), ... MyAppNameDb ...)

Üretim ortamları için, cstrings.config dosyasını salt okunur olarak işaretleyin ve dağıtım komut dosyasını, üzerinde yazma girişiminde bulunmayacak şekilde ayarlayın. . Üretim bağlantı dizeniz, o kutuda sahip olduğunuz güvenlik ile korunmaktadır. Bu hassas dizelerinizi sürüm kontrolü dışında tutar.

cstrings.config:

<?xml version="1.0" encoding="utf-8" ?> 
<connectionStrings> 
    <add name="Default" connectionString="Server=localhost"/> 
</connectionStrings> 
+0

Basit ve çekicilik gibi çalışır. Teşekkürler! –

4

Sen kukla değerleri içeren config.sample gibi bir dosyada kontrol edebilirsiniz. Her geliştirici, bu dosyayı kendi değerlerinde yapılandırmak ve düzenlemek için kopyalayacaktır. Sonra bu yerel dosyayı .gitignore içine koyarsınız.

+1

gitignore, izlenen dosyalarda çalışmayacaktır. – nathanchere

58

Ne eserlerini bulmak boşluklu veya model değerlerle dosyanın bir sürümünde kontrol etmek ve daha sonra çalıştırmaktır:

git update-index --assume-unchanged [fileName] 

Git o zaman gerçek yapılandırma koymak için izin o dosyadaki değişiklikleri izleme duracaktır .

git update-index --no-assume-unchanged [fileName] 
+0

spot! aradığım şey bu. hiçbir geçici çözüm, sadece çalışır! – kroe

+1

Çok faydalı! Bu yaklaşımı diğer bağlantılarla (configSource) birleştirdim, sadece bağlantı noktalarını gizlemek ama kolay yapılandırma değişikliklerine izin vermek. – fabsenet

+1

Bu yaklaşım, git stash ve git stash pop :(kullanıyorsanız dosya içeriğini sıfırlar. – fabsenet

İlgili konular