Visual Studio 2008プロジェクトのMercurial .hgignore


164

Visual Studio 2008で作業する場合の.hgignoreファイルの適切な設定は何ですか?

私は主に自分で開発しますが、たまに誰かがリポジトリで作業するためにリポジトリを複製します。

objフォルダー、.suo、.sln、.userファイルなどについて考えています。それらを含めることはできますか、それとも含めないファイルはありますか?

ありがとう!

ps:現時点で私は次のことを行います:すべての.pdbファイルとすべてのobjフォルダーを無視します。

# regexp syntax.
syntax: glob
*.pdb

syntax: regexp
/obj/

6
サイドノート:.slnファイルはソース管理から除外すべきではないと思います
Slavo

2
スラヴォ、あなたは正しい。ソリューションファイル(.sln)にはプロジェクトの構造が含まれているため、それらをリポジトリに含める必要があります。
Mienさえ

回答:


208

元々はGit無視ファイルから変更された、VS2008で使用するための標準の.hgignoreファイルを次に示します。

# 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
いいえ、ただし、無視ファイルと同じ概念があります。
Mienでさえ

2
行[Db] ebug * /-小文字のbではなく小文字のdであると想定し、この無視リストをテンプレートとして使用して、「デバッグ」フォルダが一体でなかった理由を理解するのに1分かかりました。無視されている:)偉大な無視ファイルをありがとう。
Nate Pinchot、

4
Rob Conneryが彼のMercurial for Codeplex Tekpubビデオで使用した無視コードを探していましたが、これはこの正確に一致しました。よくやった!
ベンマコーマック

1
私にとって、これはDebug.Something.dll.configというファイルが無視されたことを意味していたので、[Dd] ebug * /の末尾の/は望ましい効果をもたらさないと思います。おそらくWindowsの場合、[Dd] ebug * \になるはずです。
Rory

2
私にとって、これはDebug.Something.dll.configというファイルが無視されたことを意味していたので、[Dd] ebug * /の末尾の/は望ましい効果をもたらさないと思います。問題は、globスタイルの構文がディレクトリで正しく一致しないことだと思います。あなたは、デバッグとリリースの行を取り出し、ファイルの一番下に3つの新しい行でそれらを交換する場合:syntax: regexp[Rr]elease.*/し、[Dd]ebug.*/正常に動作するようです。
Rory

37

これはC#プロジェクトに固有ですが、これらのファイル/ディレクトリは無視します。

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

これらのファイルをすべて無視した後、他のマシンのデポでコードを実行しても問題はありません。保持する必要があるものを見つける最も簡単な方法は、フォルダーのコピーを作成し、不要だと思うものを削除し始めることです。ビルドを試行し続け、正常にビルドできる限り、削除を続けます。削除しすぎる場合は、ソースフォルダからコピーしてください。

最後に、コミットする必要のあるファイルのみでいっぱいの素敵なディレクトリができます。


5
* .configファイルも無視します。私の開発チームはすべて少しずつ異なる環境(ローカルdbインスタンス、ローカルメールサーバーなど)で実行しているためです。また、パスワードはweb.configにあります。
Ash Machine、

私はいつもあなたがそれのために.suoが必要だと思っていました、先端に感謝します。私たちは常にそれについて対立しました。
shmeeps 2011

24

私は会話から取り残されたように感じます。これが私の.hgignoreファイルです。COMのもの(タイプライブラリ)、いくつかの最終的なビルダーファイル、CodeRush、ReSharper、Visual Studioプロジェクトのアップグレードなど、C#、C ++、およびVisual Studioの開発全般をカバーしています。また、最新(c.2015)のWeb開発では無視されます。

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、あなたはDebug /を使用しているので、「Debug.something.cs」を1つにしない
Sebastian

11

C#Visual Studioプロジェクト用の.hgignoreの内容は次のとおりです。

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

いくつかのメモ:

  1. 「デバッグ」と「リリース」以外のカスタム「リリース」がある場合は、それらを追加する必要があります。
  2. .hgignoreを手動で編集するときは注意してください。構文エラーが発生した場合、hgtortoiseはコミットダイアログを開かなくなります。

8

私のMercurial .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

私は主にWinForms、ASP.NET MVC、およびMicrosoft Visual Studioを使用して、場合によってはMonoDevelopを使用してモバイルプロジェクトで作業していることを覚えておいてください。ツールセットとプロジェクトのタイプによっては、無視する必要のある他のファイルに遭遇する可能性があります。

私は、http: //codepaste.net/zxov7iにあるCodePaste.NETで最新バージョンを維持しようとしています


4

私が使用する他のいくつか:

output
PrecompiledWeb
_UpgradeReport_Files

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

3

ここにいくつか厄介なものがあります:MatlabとExcel / Office自動保存。

# use glob syntax
syntax: glob

# Matlab ignore files
*.asv

# Microsoft Office
~$*

誤ってそれらを追加してから、開いている実際のファイルを閉じると、ExcelやMatlabが自動保存を削除し、Mercurialがどこに移動したのかと思って行き詰まります。同様のことをするプログラムは他にもあると思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.