2008-08-29 16 views
164

Co to jest dobra konfiguracja dla pliku .hgignore podczas pracy z Visual Studio 2008?Mercurial .hgignore dla projektów Visual Studio 2008

Głównie rozwijam się na własną rękę, tylko czasami klonuję repozytorium, aby ktoś inny nad nim pracował.

Myślę o folderach obj, .suo, .sln, .user itp. Czy można je po prostu dołączyć lub czy istnieje plik, którego nie powinienem zawierać?

Dzięki!

p.s .: W tej chwili robię co następuje: zignoruj ​​wszystkie pliki .pdb i wszystkie foldery obj.

# regexp syntax. 
syntax: glob 
*.pdb 

syntax: regexp 
/obj/ 
+6

Uwaga boczna: Myślę, że pliki .sln nie powinny być wyłączone spod kontroli źródła – Slavo

+2

Slavo, masz rację. Pliki rozwiązań (.sln) zawierają strukturę twoich projektów, więc będziesz chciał uwzględnić te w swoim repozytorium. –

Odpowiedz

209

Oto mój standardowy plik .hgignore do użytku z VS2008, który pierwotnie był modyfikowany pliku Git ignorować:

# 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 
+0

są kompatybilne z git i mercurial ??? –

+4

Nie, ale mają tę samą koncepcję pliku ignorowania. –

+1

Wybierz, kliknij prawym przyciskiem myszy, skopiuj. To świetna lista. Dzięki! –

37

ten jest specyficzny dla projektu C#, ale ignorować tych plików/katalogów:

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

nie mam żadnych problemów z uruchomieniem kodu w zajezdni na innych maszynach po ignorować wszystkie te pliki. Najprostszym sposobem, aby dowiedzieć się, co należy zachować, jest zrobienie kopii folderu i rozpoczęcie usuwania rzeczy, które Twoim zdaniem nie są konieczne. Kontynuuj próbę budowania i tak długo, jak możesz budować, możesz kontynuować usuwanie. Jeśli usuniesz zbyt wiele, skopiuj go z folderu źródłowego.

W końcu będziesz mieć ładny katalog zawierający tylko te pliki, które muszą zostać zatwierdzone.

+5

Ignoruję również pliki * .config, ponieważ mój zespół programistów działa w nieco innych środowiskach (lokalne instancje db, lokalny serwer poczty e-mail itp.). Hasła znajdują się również w pliku web.config. –

+0

Zawsze myślałem, że potrzebujesz .suo za to, dzięki za napiwek. Cały czas mieliśmy konflikty. – shmeeps

11

Oto treść mojego .hgignore dla C# projektów Visual Studio:

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

Kilka uwag:

  1. Jeśli masz zwyczaj "uwalnia" oprócz "Debug" i „wydania ", możesz może potrzebować je dodać.
  2. Należy zachować ostrożność podczas ręcznego edytowania pliku .hgignore . Jeśli popełnisz błąd składni , to hgtortoise nie będzie już dłużej otwierać okna dialogowego zatwierdzenia.
8

Moje Mercurial zawartość pliku .hgignore:

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 

Pamiętaj głównie pracuję nad projektami WinForms, ASP.NET MVC i Mobile przy użyciu Microsoft Visual Studio i czasami MonoDevelop. W zależności od zestawu narzędzi i typów projektów prawdopodobnie napotkasz inne pliki, które powinny zostać zignorowane.

Staram się zachować ostatnią wersję na CodePaste.NET na http://codepaste.net/zxov7i

24

czuję lewo z rozmowy. Oto mój plik .hgignore. Obejmuje on ogólnie rozwój C#, C++ i Visual Studio, w tym pliki COM (biblioteki typów), niektóre ostateczne pliki Buildera, uaktualnienia projektów CodeRush, ReSharper i Visual Studio. Ma również pewne pomijanie w przypadku nowoczesnego (c.2015) tworzenia stron internetowych.

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*.* 
+0

+1, twoja używa Debugowania /, więc nie będzie wstawiać "Debug.something.cs" – Sebastian

4

inni używam:

output 
PrecompiledWeb 
_UpgradeReport_Files 

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

Oto kilka z nich brzydkie: Matlab i Excel/Biuro autosaves.

# use glob syntax 
syntax: glob 

# Matlab ignore files 
*.asv 

# Microsoft Office 
~$* 

Gdybym przypadkowo dodać je, a następnie zamknąć prawdziwy plik, który został otwarty, Excel i/lub Matlab usunie auto-save i następnie Mercurial będzie przebijał zastanawiać, gdzie poszedł. Jestem pewien, że istnieją inne programy, które robią podobne rzeczy.

Powiązane problemy