Visual Studio 2008 projeleri için Mercurial .hgignore


164

Visual Studio 2008 ile çalışırken .hgignore dosyası için iyi bir kurulum nedir?

Çoğunlukla kendi başıma gelişiyorum, ancak bazen başka birinin üzerinde çalışması için veri havuzunu klonluyorum.

Ben obj klasörleri, .suo, .sln, .user dosyaları vb düşünüyorum. Sadece dahil edilebilir veya dahil olmamalı dosya var mı?

Teşekkürler!

ps: şu anda aşağıdakileri yapıyorum: tüm .pdb dosyalarını ve tüm obj klasörlerini yoksay.

# regexp syntax.
syntax: glob
*.pdb

syntax: regexp
/obj/

6
Yan not: Bence .sln dosyaları kaynak kontrolünden çıkarılmamalıdır
Slavo

2
Slavo, haklısın. Çözüm dosyaları (.sln) projelerinizin yapısını içerir, böylece bunları deponuza dahil etmek istersiniz.
Mien bile

Yanıtlar:


208

Başlangıçta bir Git yoksay dosyasından değiştirilmiş VS2008 ile kullanım için standart .hgignore dosyam:

# Ignore file for Visual Studio 2008

# use glob syntax
syntax: glob

# Ignore Visual Studio 2008 files
*.obj
*.exe
*.pdb
*.user
*.aps
*.pch
*.vspscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.cache
*.ilk
*.log
*.lib
*.sbr
*.scc
[Bb]in
[Dd]ebug*/
obj/
[Rr]elease*/
_ReSharper*/
[Tt]est[Rr]esult*
[Bb]uild[Ll]og.*
*.[Pp]ublish.xml

4
Hayır, ancak aynı bir yoksayma dosyası kavramına sahiptirler.
Hatta Mien

2
Satır [Db] ebug * / - Ben küçük bir d değil, küçük bir b olması gerektiğini varsayıyorum, bu yoksayma listesini bir şablon olarak kullandı ve neden bir "hata ayıklama" klasörü olmadığını anlamak için bir dakika sürdü ' t önemsenmiyor :) Büyük önemsenmeyen dosya için teşekkürler.
Nate Pinchot

4
Rob Connery'nin Mercurial for Codeplex Tekpub videosunda kullandığı yoksayma kodunu arıyordum ve bu tam olarak eşleşti. İyi iş!
Ben McCormack

1
Benim için bu Debug.Something.dll.config adlı bir dosya yoksayıldı anlamına geliyordu, bu yüzden / dd ebd * / üzerinde / / istenen etkisi yok düşünüyorum Belki de pencereler için [Dd] ebug * \ olmalı?
Rory

2
Benim için bu Debug.Something.dll.config adlı bir dosya yoksayıldı anlamına geliyordu, bu yüzden / dd ebd * / üzerinde / / istenen etkisi yok düşünüyorum Sorun glob tarzı sözdizimi dizinlerde doğru eşleşmiyor olduğunu düşünüyorum. Eğer hata ayıklama ve Yayın hatları çıkarıp dosyanın alt kısmında üç yeni satıra geçerek değiştirin: syntax: regexpve [Rr]elease.*/ve [Dd]ebug.*/o zaman düzgün çalışması gibi görünüyor.
Rory

37

Bu bir C # projesine özgüdür, ancak bu dosyaları / dizinleri yoksay:

  • *.csproj.user
  • /obj/*
  • /bin/*
  • *.ncb
  • *.suo

Tüm bu dosyaları görmezden sonra depoda kodu diğer makinelerde çalışan sorunum yok. Saklamanız gereken şeyleri bulmanın en kolay yolu, klasörün bir kopyasını oluşturmak ve gerekli olmadığını düşündüğünüz şeyleri silmeye başlamaktır. Oluşturmaya çalışın ve başarılı bir şekilde silebildiğiniz sürece silmeye devam edin. Çok fazla silerseniz, kaynak klasörden kopyalayın.

Sonunda işlenmesi gereken tek dosyayla dolu güzel bir dizine sahip olacaksınız.


5
Ayrıca * .config dosyalarını görmezden geliyorum, çünkü geliştirici ekibim biraz farklı ortamlarda (yerel db örneği, yerel e-posta sunucusu vb.) Çalışıyor. Ayrıca, parolalar web.config dosyasında bulunur.
Ash Machine

Her zaman .suo'ya ihtiyacın olduğunu düşündüm, bahşiş için teşekkürler. Her zaman çatışmalar yaşadık.
shmeeps

24

Konuşmanın dışında hissediyorum. İşte benim .hgignore dosyam. COM öğeleri (tür kitaplıkları), bazı son oluşturucu dosyaları, CodeRush, ReSharper ve Visual Studio proje yükseltmeleri dahil olmak üzere genel olarak C #, C ++ ve Visual Studio geliştirmelerini kapsar. Ayrıca, modern (c.2015) web geliştirme için bazı ihmaller var.

syntax: glob

* - [Cc]opy
* - [Cc]opy/
* - [Cc]opy (?)/
* - [Cc]opy.*
* - [Cc]opy (?).*
**/.*
**/scss/*.css
*.*scc
*.FileListAbsolute.txt
*.aps
*.bak
*.bin
*.[Cc]ache
*.clw
*.css.map
*.eto
*.exe
*.fb6lck
*.fbl6
*.fbpInf
*.ilk
*.lib
*.log
*.ncb
*.nlb
*.nupkg
*.obj
*.old
*.orig
*.patch
*.pch
*.pdb
*.plg
*.[Pp]ublish.xml
*.rdl.data
*.sbr
*.scc
*.sig
*.sqlsuo
*.suo
*.svclog
*.tlb
*.tlh
*.tli
*.tmp
*.user
*.vshost.*
*.docstates
*DXCore.Solution
*_i.c
*_p.c
__MVC_BACKUP/
_[Rr]e[Ss]harper.*/
_UpgradeReport_Files/
Ankh.Load
Backup*
[Bb]in/
bower_components/
[Bb]uild/
CVS/
[Dd]ebug/
[Ee]xternal/
hgignore[.-]*
ignore[.-]*
lint.db
node_modules/
[Oo]bj/
[Pp]ackages/
PrecompiledWeb/
[Pp]ublished/
[Rr]elease/
svnignore[.-]*
[Tt]humbs.db
UpgradeLog*.*

+1, sizinkinde Hata Ayıklama / kullanılıyor, bu yüzden "Debug.something.cs" dosyasını kullanamayacaksınız
Sebastian

11

İşte C # Visual Studio projeleri için benim .hgignore içeriği:

syntax: glob
*.user
*.ncb
*.nlb
*.suo
*.aps
*.clw
*.pdb
*\Debug\*
*\Release\*

Birkaç not:

  1. "Hata Ayıkla" ve "Yayınla" dışında özel "yayınlarınız" varsa, bunları eklemeniz gerekebilir.
  2. .Hgignore'nuzu el ile düzenlerken dikkatli olun. Bir sözdizimi hatası yaparsanız, hgtortoise artık iletişim penceresini açmaz.

8

Mercurial .hgignore dosya içeriğim:

syntax: glob
#-- Files
*.bak.*
*.bak
thumbs.db

#-- Directories
App_Data/*
bin/
obj/
_ReSharper.*/
tmp/

#-- Microsoft Visual Studio specific
*.user
*.suo

#-- MonoDevelop specific
*.pidb
*.userprefs
*.usertasks

Özellikle Microsoft Visual Studio ve arada sırada MonoDevelop kullanarak WinForms, ASP.NET MVC ve Mobile projelerinde çalıştığımı unutmayın. Araç setinize ve proje türlerinize bağlı olarak, muhtemelen yok sayılması gereken diğer dosyalarla karşılaşırsınız.

En son sürümü http://codepaste.net/zxov7i adresinde CodePaste.NET üzerinde tutmaya çalışıyorum


4

kullandığım bazı diğerleri:

output
PrecompiledWeb
_UpgradeReport_Files

#Guidance Automation Toolkit
*.gpState
#patches
*.patch

3

İşte birkaç sinir bozucu olanlar: Matlab ve Excel / Office otomatik kaydetme.

# use glob syntax
syntax: glob

# Matlab ignore files
*.asv

# Microsoft Office
~$*

Yanlışlıkla onları ekleyip açık olan gerçek dosyayı kapatırsam, Excel ve / veya Matlab otomatik kaydetmeyi siler ve Mercurial nereye gittiklerini merak ederek sıkışır. Eminim benzer şeyler yapan başka programlar da vardır.

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.