バージョン管理にコミットする必要があるVisual C ++ファイルの種類はどれですか?


170

バージョン管理にコミットする必要がある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

それぞれについて短い推論をいただければ幸いです。それらのいずれかが物議を醸している場合は、それを注意してください。完全を期すために、些細なファイルタイプも意図的に含めています。

編集

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


23
うわー、この質問は、VSがプロジェクトのディレクトリに作成することを主張する一時ファイルの増加の真の証です。
Nik Reiman

@Nik:プロジェクトのディレクトリにありません。
Hans Passant

1
@ハンス、それらはそこにあるか、プロジェクトサブディレクトリの下にあります
Nik Reiman

@Nik:msbuild gooではありません。これは私があなたが一時ファイルで意図したものだと思います。私は同意します、それはきれいではありません。
Hans Passant

6
ザイリンクスのISE開発環境(HDLプログラミング用)を試してみて、出力される一時ファイルの数を確認してください。何百もの拡張子を持つ何百ものファイル:)混乱について話します。比較すると、Visual Studioは非常にクリーンです。
Mark Lakata 2012

回答:


232

はい:

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

番号:

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

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


これは非常に便利です。私のプロジェクトはまた、このプロジェクトは、旧バージョン(eVCの)から変換されたので、それに関連する可能性がある(.vcbを持っている。
ロビー・マシューズ

何についての.vcxproj.filtersファイル?
John Alexiou

1
.OPENSDFも不可
Zam

1
@ ja72 filtersは、回答の最初の改訂以降、「はい」のリストにあります
翼を持つ小惑星

26

あなたのリストから私はそれらを選びます:

cpp
filters
h
ico
manifest
rc
rc2
sln
txt
vcxproj

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


@ milan1612簡潔なリストをありがとうございます。ハンスパッサントの回答と比較して、マニフェストファイルをコミットするべきではないと言ったところにコミットするべきだとあなたは言った。このファイルの意味と、特にチーム(および将来のクロスプラットフォーム)環境で、関連がある場合は、なぜ私がそれをコミットする必要があると思いますか?
ジョナサン

3
マニフェストにはさまざまな目的があります。ウィンドウをスタイルをウィンドウに適用させるリソースファイルに含まれるものを手動で作成しました。また、実行可能ファイルと一緒に標準ライブラリdllをデプロイできるようにするマニフェストもあります。アプリケーションに関するメタデータについて考えてみてください
ミラノ、

@ milan1612-追加のタイプが発生しました-suo、これも追加する必要がありますか?もしそうなら、あなたはそれをあなたのリストに追加して完全にすることができますか?
ジョナサン

3
@Jonathan suoは、ソリューションに関連する開発者固有のデータを保持します(ソリューションエクスプローラーで開いているファイルや開いている/折りたたまれているフォルダーなど)。したがって、それはバージョン管理されるべきではありません。
ダニエルローズ

1
@ milan1612-Daniel Roseの入力に従って、suoをリストから削除できますか?
ジョナサン

17

Microsoftによって提案されているように、バージョン管理に含める必要があるファイルの種類:

.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 ++プロジェクトのファイルタイプについて説明しています


7

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

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


4

他の答えは素晴らしいです。便利な小さなツールを提供したいと思いました。GitHubのVisual Studio .gitignoreテンプレートを確認してください。これは、アクティブに維持されているファイルのリストであり、通常はバージョン管理の対象から外されます。

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


1

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

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


0

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

C ++ビルドでsdf、aps、filters、userが何であるかわかりません。

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


4
.slnと.vcxprojは確かに必要です。これらはプロジェクトとソリューションを記述しています。
シャープトゥース

はい、メイクファイルを維持していなければ。個人的にはAnti-VS / MSなので、開発者向けの唯一のツールとしてVisual Studioを使用している人がいることを忘れていました。私はデバッガのみを使用しています。
Lothar

3
VSプロジェクトファイルもメイクファイルです
Milan

-2

以前の回答で述べたこととは逆に、ユーザーオプションを追跡するには、.optファイルのバージョン管理が重要であるように思われます。以下の参照を参照してください。

https://msdn.microsoft.com/en-us/library/aa278994(v=vs.60).aspx


1
.optファイルは、プログラムのコンパイル方法ではなく、IDEのルックアンドフィールを制御します。したがって、IDEについて良いと感じたことは、必ずしも他の観点からは良いとは限りません
phuclv
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.