Visual Studio にて設定すべき .gitignore / .hgignore
.gitignore や .hgignore で管理対象から無視することができるのはご存知ですよね。
Visual Studio にて無視するファイル一覧をMSDNで探したけど無かったので stackoverflow で調べたらあったのでメモ。あと、教えてもらった方法も追記。
- stackoverflow の回答例
- github / .gitignore を用いる方法
無視ファイルの設定
.gitignore の場合
gitの場合は、 .gitignore をおいておきます。
.hgignore
.hgignore *1 に下記内容を記載してください。Mercurialの場合の無視ファイルは、デフォルトは正規表現で記述するので、glob文法(SHELL形式のパターンマッチングとかのやつ)にするため一行目 *2に syntax:glob と 記載します。
syntax:glob *.obj *.exe *.exp *.pdb *.dll *.user *.aps *.pch *.vspscc *_i.c *_p.c *.ncb *.suo *.tlb *.tlh *.bak *.cache *.ilk *.log *.zip [Dd]ebug*/ *.lib *.sbr Thumbs.db [Ll]ib/ [Rr]elease*/ [Tt]est[Rr]esults/ _UpgradeReport_Files/ _ReSharper.*/
感想
sln (ソリューションファイル) は 無視ファイルにはしないんですね。1プロジェクトだと無視したりしています。stackoverflowの回答例に追加して bin obj フォルダが指定が合ったほうがよさそう。
いただいたコメント
Twitter上でリプライ頂きました。とても参考になります。ありがとうございます。
@gab_km @cointoss1973 github に gitignore というプロジェクトがあるのでそこにあるのを使えばOK
— いじゅういん (@kei10in) 2012年9月11日
@cointoss1973 binとobjもあるといいと思います。
— いわた (@wonderful_panda) 2012年9月12日
@cointoss1973 それってDebugで始まるディレクトリとか無視されますけど、Debug*/にする必要ってあるんでしたっけ? x64とかだとsuffixつくのかな?私はVisual HG使わないときは面倒でも bin/Debug/とobj/Debug/とかやってます。
— TAKAHIRO (@c_o_t) 2012年9月12日
@cointoss1973 あとMSTest使ってるときは.vsmdiも除外してますね。これはプロジェクトによりけりでしょうが…。私はそれでソリューションとvsmdiの無駄なコンフリクトをなくしてます。
— TAKAHIRO (@c_o_t) 2012年9月12日