2008-08-29 43 views
164

Thiết lập tốt cho tệp .hgignore khi làm việc với Visual Studio 2008 là gì?Mercurial .hgignore cho các dự án Visual Studio 2008

Tôi chủ yếu phát triển một mình, chỉ thỉnh thoảng tôi nhân bản kho lưu trữ cho người khác để làm việc trên đó.

Tôi đang suy nghĩ về các thư mục obj, .suo, .sln, .user tệp vv .. Chúng có thể được đưa vào hoặc có tệp mà tôi không nên đưa vào không?

Cảm ơn!

p.s .: tại thời điểm này tôi làm như sau: bỏ qua tất cả các tệp .pdb và tất cả thư mục obj.

# regexp syntax. 
syntax: glob 
*.pdb 

syntax: regexp 
/obj/ 
+6

Lưu ý phụ: Tôi cho rằng không nên loại trừ các tệp .sln khỏi điều khiển nguồn – Slavo

+2

Slavo, bạn là chính xác. Các tệp giải pháp (.sln) chứa cấu trúc của các dự án của bạn, vì vậy bạn sẽ muốn bao gồm các tệp đó trong kho lưu trữ của mình. –

Trả lời

209

Dưới đây là tập tin của tôi chuẩn .hgignore để sử dụng với VS2008 mà ban đầu được sửa đổi từ một tập tin Git bỏ qua:

# 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

là git và mercurial tương thích ??? –

+4

Không, nhưng chúng có cùng khái niệm về một tập tin bỏ qua. –

+1

Chọn, nhấp chuột phải, sao chép. Đó là một danh sách tuyệt vời. Cảm ơn! –

37

Đây là cụ thể cho một dự án C#, nhưng tôi bỏ qua những tập tin/thư mục:

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

Tôi không có vấn đề chạy mã trong kho trên máy khác sau khi tôi bỏ qua tất cả những tập tin này. Cách dễ nhất để tìm ra những gì bạn cần giữ là tạo một bản sao của thư mục và bắt đầu xóa những thứ bạn cho là không cần thiết. Tiếp tục cố gắng xây dựng và miễn là bạn có thể xây dựng thành công việc tiếp tục xóa. Nếu bạn xóa quá nhiều, hãy sao chép nó từ thư mục nguồn.

Cuối cùng, bạn sẽ có một thư mục đẹp chứa đầy đủ các tệp duy nhất phải được cam kết.

+5

Tôi cũng bỏ qua các tệp * .config, vì nhóm nhà phát triển của tôi đều chạy trong các môi trường hơi khác nhau (ví dụ db cục bộ, máy chủ email cục bộ, v.v.) Ngoài ra, mật khẩu nằm trong web.config. –

+0

Tôi luôn luôn nghĩ rằng bạn cần thiết .suo cho nó, cảm ơn cho tip. Chúng tôi đã có xung đột tất cả thời gian trên đó. – shmeeps

11

Dưới đây là nội dung của .hgignore tôi cho C# các dự án Visual Studio:

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

Một vài lưu ý:

  1. Nếu bạn có tùy chỉnh "giải phóng" bên cạnh "Debug" và "phát hành ", bạn có thể cần phải thêm chúng.
  2. Hãy cẩn thận khi bạn chỉnh sửa theo cách thủ công .hgignore. Nếu bạn thực hiện cú pháp lỗi, thì hgtortoise sẽ không còn còn mở hộp thoại cam kết.
8

Mercurial nội dung tập tin .hgignore của tôi:

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 

Hãy ghi nhớ tôi chủ yếu làm việc trên các dự án WinForms, ASP.NET MVC và Mobile bằng Microsoft Visual Studio và thỉnh thoảng MonoDevelop. Tùy thuộc vào bộ công cụ và loại dự án của bạn, có thể bạn sẽ gặp phải các tệp khác cần được bỏ qua.

Tôi cố gắng giữ cho phiên bản mới nhất trên CodePaste.NET tại http://codepaste.net/zxov7i

24

Tôi cảm thấy bị bỏ ra khỏi cuộc nói chuyện. Đây là tệp .hgignore của tôi. Nó bao gồm phát triển C#, C++ và Visual Studio nói chung, bao gồm các công cụ COM (thư viện kiểu), một số tệp xây dựng cuối cùng, nâng cấp dự án CodeRush, ReSharper và Visual Studio. Nó cũng có một số bỏ qua cho phát triển web hiện đại (c.2015).

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, của bạn đang sử dụng Debug /, do đó sẽ không nhập "Debug.something.cs" – Sebastian

4

một số người khác tôi sử dụng:

output 
PrecompiledWeb 
_UpgradeReport_Files 

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

Dưới đây là một vài những pesky: Matlab và Excel/Văn phòng Mê.

# use glob syntax 
syntax: glob 

# Matlab ignore files 
*.asv 

# Microsoft Office 
~$* 

Nếu tôi vô tình thêm họ và sau đó đóng tệp thực sự mà đã được mở, Excel và/hoặc Matlab sẽ xóa lưu tự động và sau đó Mercurial sẽ bị mắc kẹt tự hỏi họ đi đâu. Tôi chắc rằng có những chương trình khác làm những việc tương tự.

Các vấn đề liên quan