web-dev-qa-db-ja.com

どのVisual C ++ファイルタイプをバージョン管理にコミットする必要がありますか?

どのVisual Studio\Visual C++ファイルタイプをバージョン管理にコミットする必要がありますか?
私のプロジェクトには、次のファイルタイプがあります。

aps
cpp
exe
filters
h
ico
idb
ipch
lastbuildstate
lib
log
manifest
obj
pch
pdb
rc
rc2
res
sdf
sln
suo
tlog
txt
user
vcxproj

それぞれについて簡単な理由をいただければ幸いです。それらのいずれかが議論の余地がある場合は、注意してください。完全を期すために、単純なファイルタイプも意図的に含めています。

[〜#〜] edit [〜#〜]

一方で、将来はプラットフォームに依存しないようにしたいと思います。一方、近い将来、同じような設定のチームメンバーと協力したいと考えています。セットアップ間のフォルダー互換性は確かにオプションであるため、ワークフローを容易にする場合、パスを保持する構成ファイルが含まれることがあります。
再び、私は確かに何が何であるかの説明に感謝します。

167
Jonathan

はい:

  • cpp:ソースコード
  • フィルター:プロジェクトファイル
  • h:ソースコード
  • ico:リソース
  • rc:リソーススクリプト
  • rc2:リソーススクリプト
  • sln:プロジェクトファイル
  • txt:プロジェクト要素
  • vcxproj:プロジェクトファイル

いいえ:

  • aps:最後のリソースエディターの状態
  • exe:ビルド結果
  • idb:ビルド状態
  • ipch:ビルドヘルパー
  • lastbuildstate:ビルドヘルパー
  • lib:ビルド結果。サードパーティになることができます
  • log:ビルドログ
  • マニフェスト:ビルドヘルパー。自分で書くことができます。
  • obj:ビルドヘルパー
  • pch:ビルドヘルパー
  • pdb:ビルド結果
  • res:ビルドヘルパー
  • sdf:インテリセンスdbase
  • suo:ソリューションユーザーオプション
  • tlog:ビルドログ
  • ユーザー:デバッグ設定。 開発またはカスタムデバッグ設定が1つだけの場合は保持する

これらのいくつかは、自分で自動生成および保守できるため、不確かです。さらに、リストに表示されないものがいくつかあります。主にファイルの場所に注意してください。ソリューションまたはプロジェクトディレクトリにある場合は、チェックインする必要があります。デバッグまたはリリースサブディレクトリでは、ほとんどありません。 Build + Cleanは、多くのノイズファイルを削除します。そしてもちろん:チェックイン、プロジェクトディレクトリの名前の変更、チェックアウトしてビルドされたことを確認します。

226
Hans Passant

リストからそれらを選択します。

cpp
filters
h
ico
manifest
rc
rc2
sln
txt
vcxproj

通常、プロジェクトのビルドに必要なすべてのファイルをバージョン管理する必要があります。自動生成されたファイルは、アーカイブされるべきではありません。

26
Milan

マイクロソフトが提案したように、バージョン管理に含める必要のあるファイルタイプ:

.mak、.dsp、.c、.rc、.rc2、.ico、.bmp、.txt、.def、.hpj、.bat、.rtf、.odl、.inf、.reg、.cnt、.cpp 、.cxx、.h、.hpp、.hxx、.inl、.tpl、.vtp、および.mst ...

含めるべきではないファイルタイプ:

.pch、.mdp、.ncb、.clw、.obj、.exe、.aps、.cpl、.awk、.exp、.lib、.idb、.opt、.pdb、.map、.res、.ilk 、.scc、.bsc、.sbr、.dll、および.tlb ...

しかし、exeファイルまたは外部ライブラリで外部ツールを使用する場合は、バージョン管理にも含める必要があると思います

情報:ソースコード管理に追加するVisual C++ファイル

さらに、このリンクでは、Visual Studio 2017の Visual C++プロジェクトのファイルタイプ について説明しています。

15
phuclv

プロジェクトを右クリックすると、コンテキストメニューに[ソリューションをソース管理に追加]オプションが表示されます。

これを使用すると、必要なファイルのみが追加されます。すべての中間ファイルと出力ファイルは無視されます。

7
ChrisF

他の答えは素晴らしいです。便利な小さなツールを提供すると思いました。 GitHubで Visual Studio .gitignore template を確認してください。これは、一般的にバージョン管理の対象から外されているファイルのリストです。

そして、あなたがそれをしている間、 gitignore repository 全体が ActionScript から Zend までのあらゆる種類の開発に非常に役立つリソースです。 Gitを使用しない場合でも、gitignoreファイルを参照として使用できます。

2
Phil

一般に、ソリューションエクスプローラーに表示されるすべてのファイルをバージョン管理に追加する必要があります。さらに、.sln(ソリューションファイル)と.vcproj/.vcxproj/.vbproj/.csprojファイル(プロジェクトファイル)を含める必要があります。

TFSやAnkhSvnなど、Visual Studioのソース管理プラグインがある場合は、これを明示的に気にする必要はありません。 Visual Studioは、どのファイルをバージョン管理する必要があるかを認識し、ソース管理プラグインにデータを提供します。外部ツール(たとえばTortoiseSVN)を使用する場合にのみ、そのようなリストが必要になります。

1
Daniel Rose

ターゲットの構築に必要なのは一度だけです。これは.cpp .h .ico .rc .txt .manifest .rc2だけだと思います

私は自分のC++ビルドでsdf、aps、filters、userが何であるかを見ていません。

プログラマーが作成したコードが含まれているか、VSによって生成されているかを確認してください。

0
Lothar