web-dev-qa-db-ja.com

TFSソース管理から特定のファイルを除外する方法

複数の構成ファイル(app.DEV.config、app.TEST.configなど)と、正しい構成ファイルをapp.configにコピーするビルド前イベントがあります。構成固有のファイルはソース管理に含まれていることは明らかですが、現時点ではApp.Configもそうであり、そうすべきではありません。

その1つのファイルをソース管理から除外されたとしてマークする方法はありますが、明らかにプロジェクトからは除外できません。

VS 2005および2005 Team Explorerを使用しています。

88

MS Power Toolsには、正規表現に対してファイル名をスクリーニングできるチェックインポリシー(禁止パターンポリシー)があります。参照: Microsoft Team Foundation Server Power Tools

チェックインポリシーは完全に完全なものではありませんが、TFSが探しているもののようなユーザー定義のルールを強制するために最も近いものです。

(また、他の人が言ったように、ファイルまたはフォルダーをクローキングすることもできます。つまり、ソース管理に残り、チームの他の全員に表示されますが、クローキングを解除するまでPCにコピーされません;またはファイルを削除できます。つまり、すべてのPCが最新になったときに削除されます。ただし、これらのオプションはいずれも、そのようなファイルが最初にソース管理に追加されることを防ぎます。

39
Jason Williams

TFS2012では簡単です。tfignoreファイルを作成します

http://msdn.Microsoft.com/en-us/library/tfs/ms245454%28v=vs.110%29.aspx#tfignore

######################################
# Ignore .cpp files in the ProjA sub-folder and all its subfolders
ProjA\*.cpp
# 
# Ignore .txt files in this folder 
\*.txt
#
# Ignore .xml files in this folder and all its sub-folders
*.xml
#
# Ignore all files in the Temp sub-folder
\Temp
#
# Do not ignore .dll files in this folder nor in any of its sub-folders
!*.dll

# EDIT https://msdn.Microsoft.com/en-us/library/ms245454(v=vs.110).aspx#tfignore
# A filespec is recursive unless prefixed by the \ character.
94
artfulhacker

ソリューションエクスプローラーでApp.configファイルを選択し、[ファイル]-> [ソース管理]-> [ソース管理からApp.configを除外する]を選択します。

44
PjL

見つけにくいオプションがあります:

1。ソリューションエクスプローラーで1つまたは複数のファイルを選択

2。ファイルに移動->ソース管理->詳細

Path To Exclude

そしてここにある

Here is the Exclude

留意点:ソリューションエクスプローラーでファイルを右クリックすると、すべてではなく「最も重要なオプション」のみが見つかります:)

21
Felix Keil

TFSを使用してソース管理下にないファイルをプロジェクトに含めるだけの場合は、SourceControlに移動してそのファイルを削除し、プロジェクトファイルのチェックアウトを元に戻します(プロジェクトからファイルを削除しようとしますまあ)。次に、除外するファイルの削除をチェックインします。ソリューションエクスプローラーで、除外するファイルの横にソース管理アイコンがないことがわかります。プロジェクトファイルにはファイルがリストされているはずですが、そのファイルはソース管理下にないはずです。

覚えておいてください、他の人は、プロジェクトが最新になったときに、プロジェクトに欠落しているファイルが表示されるようになります。

13
Seth

TFSでは、フォルダー/ファイルレベルでクロークできます。何かがクロークされると、TFSはそれを同期しようとしません(svn:ignoreのように)。

ワークスペースをセットアップするとき、TFSに無視させたいものはすべて隠します。より詳細なハウツーは here です。

7
joshua.ewer

これは私のために働いた:

1つの方法は、新規または既存のアイテムをプロジェクトに追加し(たとえば、プロジェクトを右クリック、既存のアイテムを追加、Windowsエクスプローラーからソリューションエクスプローラーにドラッグアンドドロップ)、TFSでファイルまたはフォルダーを処理し、保留を元に戻すアイテムの変更。 TFSは保留中の追加変更があることを示すマークを外し、ファイルはプロジェクト内に静かに置かれ、TFSから除外されます。

ソース:= ">特定のファイルをTFSソース管理から除外する方法

5
Huilaaja

この質問は少し前に尋ねられましたが、それは私が抱えていた同じタイプの問題に関係しています。

問題:

  • コードをチェックインします。
  • 次に、プロジェクトをビルドします。
    • ビルド中、ビルドイベントに依存してファイルを移動するため、ビルドプロセスを完了するための適切なファイルが用意されています。
  • ビルドイベントがファイルをコピーしようとすると、アクセス拒否エラーが発生します。

理由:

  • Team Foundation Server Visual Studioプラグインは、ファイルをチェックインするときに、ファイルの読み取り専用属性をREADONLY TRUEに変更します。

ビルドイベントの例:

  • copy "$(TargetDir)SomeFile.ext" "$(ProjectDir)"

上記では、ターゲットビルドパス(bin\debugまたはbin\releaseフォルダー)からプロジェクトフォルダーにファイルを移動するだけです。私の状況では、これにより、プロジェクトビルドファイルをインストーラーに含めることができました。私のインストーラーは、プロジェクト出力の一部としてそれらを取得していませんでした。

修正:(これを見つけたとき、顔をほぼ蹴りました)

新しいビルドイベント:

  • attrib -R "$(ProjectDir)SomeFile.ext"
  • copy "$(TargetDir)SomeFile.ext" "$(ProjectDir)"
  • attrib + R "$(ProjectDir)SomeFile.ext"

ビルドイベントを楽しんでいますか?上記の2つのことを行うだけで、読み取り専用属性を削除しました。ファイルは読み取り専用ではありません。元々望んでいたとおりにファイルをコピーします。次に、読み取り専用属性(オプションと思われます)を置き換えて、Visual StudioとTeam Foundationsを満足させます。

そして、はい...私はまだこの1つに直面して自分自身を蹴っている。

2
Rob K.

Visual Studio 2013(および2012)

この機能を使用するには、ファイルを選択して次の操作を行います。

File > Source Control > Advanced > Exclude ... from Source Control
2
Evan Mulawski

同様の問題があります。App.configには、TFSと同期してはならない賢明なデータ(ユーザー名など)が含まれています。

記事 パスワードおよびその他の機密データをASP.NETおよびAzure App Serviceに展開するためのベストプラクティス は、この問題を防ぐための優れたアプローチを説明しています。

「appSettings」要素の「file」属性を使用して、ソース管理に追加されていない設定ファイルを参照します

0
thuld

TFS2012よりも古いバージョンを使用しているため、.tfignoreファイルを作成できない場合、またはFile > Source Control > Advanced > Exclude …オプションを使用できない場合は、これを試すことができます。

  • Windowsエクスプローラーでターゲットファイルのコピーを作成します。
  • Team Explorer/Visual Studioでターゲットファイルの保留中の変更(ある場合)を元に戻します。
  • Windowsエクスプローラーでターゲットファイルを削除します。
  • ターゲットファイルのコピーを削除されたターゲットファイルの場所に移動し、削除されたターゲットファイルと同じ名前になるように名前を変更します。

TFSは、ターゲットファイルの変更を無視するようになりました。ファイルを再度編集する必要がある場合は、Visual Studioを使用しないでください。TFSにより、変更が保留中のファイルのリストにファイルが戻されます。

0
Protector one