Mercurial .hgignore untuk proyek Visual Studio 2008

164

Apa pengaturan yang baik untuk file .hgignore ketika bekerja dengan Visual Studio 2008?

Saya kebanyakan mengembangkan sendiri, hanya kadang-kadang saya mengkloning repositori untuk orang lain untuk mengerjakannya.

Saya sedang berpikir tentang folder obj, .suo, .sln, .user file dll. Bisakah mereka dimasukkan atau ada file yang tidak seharusnya saya sertakan?

Terima kasih!

ps: saat ini saya melakukan hal berikut: abaikan semua file .pdb dan semua folder obj.

# regexp syntax.
syntax: glob
*.pdb

syntax: regexp
/obj/
Johannes
sumber
6
Catatan: Saya pikir file .sln tidak boleh dikecualikan dari kontrol sumber
Slavo
2
Slavo, kamu benar. File solusi (.sln) berisi struktur proyek Anda, jadi Anda ingin memasukkannya ke dalam repositori Anda.
Bahkan Mien

Jawaban:

208

Inilah file .hgignore standar saya untuk digunakan dengan VS2008 yang awalnya dimodifikasi dari file abaikan Git:

# 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
Bahkan Mien
sumber
4
Tidak, tetapi mereka memiliki konsep file abaikan yang sama.
Bahkan Mien
2
Baris [Db] ebug * / - Saya mengasumsikan bahwa seharusnya huruf kecil d dan bukan huruf kecil b, menggunakan daftar abaikan ini sebagai templat dan butuh satu menit untuk mencari tahu mengapa sih folder "debug" tidak t sedang diabaikan :) Terima kasih atas file abaikan yang bagus.
Nate Pinchot
4
Saya mencari kode abaikan yang digunakan Rob Connery dalam video Mercurial for Codeplex Tekpub-nya dan cocok dengan persis ini. Kerja bagus!
Ben McCormack
1
Bagi saya ini berarti file bernama Debug.Something.dll.config diabaikan, jadi saya pikir trailing / pada [Dd] ebug * / tidak memiliki efek yang diinginkan. Mungkin untuk windows seharusnya [Dd] ebug * \?
Rory
2
Bagi saya ini berarti file bernama Debug.Something.dll.config diabaikan, jadi saya pikir trailing / pada [Dd] ebug * / tidak memiliki efek yang diinginkan. Saya pikir masalahnya adalah dengan sintaks gaya-glob tidak cocok dengan benar pada direktori. Jika Anda mengambil Debug dan Rilis garis dan menggantinya dengan tiga baris baru di bagian bawah file: syntax: regexpdan [Rr]elease.*/dan [Dd]ebug.*/kemudian tampaknya bekerja dengan benar.
Rory
37

Ini khusus untuk proyek C #, tetapi saya mengabaikan file / direktori ini:

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

Saya tidak punya masalah menjalankan kode di depot di komputer lain setelah saya mengabaikan semua file ini. Cara termudah untuk mengetahui apa yang perlu Anda simpan adalah membuat salinan folder dan mulai menghapus hal-hal yang Anda pikir tidak perlu. Terus mencoba membangun, dan selama Anda berhasil membangun, terus menghapus. Jika Anda menghapus terlalu banyak, salinlah dari folder sumber.

Pada akhirnya Anda akan memiliki direktori yang bagus penuh dengan hanya file yang harus dikomit.

Daniel Jennings
sumber
5
Saya juga mengabaikan file * .config, karena semua tim pengembang saya berjalan di lingkungan yang sedikit berbeda (contoh db lokal, server email lokal, dll.) Juga, kata sandi ada di web.config.
Ash Machine
Saya selalu berpikir Anda membutuhkan .suo untuk itu, terima kasih atas tipnya. Kami memiliki konflik sepanjang waktu di sana.
shmeeps
24

Saya merasa tersisih dari percakapan. Ini file .hgignore saya. Ini mencakup C #, C ++ dan pengembangan Visual Studio secara umum, termasuk hal-hal COM (tipe libraries), beberapa file pembangun akhir, CodeRush, ReSharper, dan peningkatan proyek Visual Studio. Ini juga memiliki beberapa pengabaian untuk pengembangan web modern (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*.*
Damian Powell
sumber
+1, milik Anda menggunakan Debug /, jadi tidak akan ada "Debug.something.cs"
Sebastian
11

Berikut adalah isi dari .hgignore saya untuk proyek C # Visual Studio:

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

Beberapa catatan:

  1. Jika Anda memiliki "rilis" khusus selain "Debug" dan "Release", Anda mungkin perlu menambahkannya.
  2. Hati-hati saat mengedit .hgignore secara manual. Jika Anda membuat kesalahan sintaks, maka hgtortoise tidak akan lagi membuka dialog komit.
jm.
sumber
8

Konten file .hgignore Mercurial saya:

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

Perlu diingat bahwa saya terutama bekerja pada WinForms, ASP.NET MVC dan proyek Mobile menggunakan Microsoft Visual Studio dan kadang-kadang MonoDevelop. Bergantung pada perangkat Anda dan jenis proyek, Anda mungkin akan menemukan file lain yang harus diabaikan.

Saya mencoba untuk menyimpan versi terbaru tentang CodePaste.NET di http://codepaste.net/zxov7i

AlGonzalez
sumber
4

beberapa yang lain saya gunakan:

output
PrecompiledWeb
_UpgradeReport_Files

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

Berikut adalah beberapa yang sial: Matlab dan Excel / Office autosave.

# use glob syntax
syntax: glob

# Matlab ignore files
*.asv

# Microsoft Office
~$*

Jika saya tidak sengaja menambahkannya dan kemudian menutup file asli yang terbuka, Excel dan / atau Matlab akan menghapus simpan otomatis dan kemudian Mercurial akan buntu bertanya-tanya ke mana mereka pergi. Saya yakin ada program lain yang melakukan hal serupa.

Nathan Donnellan
sumber