[解決済み】TFSでファイル/ディレクトリを無視し、中央のソースリポジトリに移動しないようにするにはどうすればよいですか?
2022-05-11 04:54:13
質問
TFSのソース管理で、プロジェクト単位で無視するファイル/フォルダを設定することは可能でしょうか?
例えば、assetsフォルダを持つWebサイトがありますが、ソース管理には入れたくありません。これらのアセットは、別のシステムで管理されています。また、数ギガバイトのアセットをソースコントロールに入れたくないのですが、開発マシンにいくつかのサンプルが必要で、それらもチェックインしたくありません。
ソース コントロールにバインドされた状態でこの Web サイトで作業しているときに、ツリーを更新すると、これらのファイルが自動的に再追加されます。
これを防ぎたい。
解決方法は?
VS2015 と VS2017 の場合
TFS (オンプレミス) または VSO (Visual Studio Online - Azure-hosted offering) で動作します。
NuGetのドキュメントでは を達成するための方法を説明します。 で、VSTS(Azure-hosted TFS)に対するVisual Studio 2015 & Visual Studio 2017について、無事その通りに実行したところです。の時点で全てフルアップデートされています。 2016年11月 2018年8月のことです。
NuGetの指示に従うことをお勧めしますが、私がやったことをおさらいしておきます。
-
を確認します。
packages
フォルダが TFS にコミットされていないことを確認します。もしそうなら、そこから取り出してください。 -
以下に作成するものはすべて、あなたの
.sln
ファイルが存在します (NuGetの説明はこれに関して完全には明確ではありません)。 -
を作成します。
.nuget
フォルダーを作成します。Windowsエクスプローラーで、名前を.nuget.
として保存することに成功しました。.nuget
(最後のピリオドは自動的に削除されます) しかし、直接名前を付けようとすると.nuget
はうまくいかないかもしれません(Windowsのバージョンによっては、エラーが出たり、名前が変わってしまったりします)。 または、ディレクトリをnugetと名付け、コマンドラインプロンプトで親ディレクトリを開きます。 ren nuget .nuget -
そのフォルダの中に
NuGet.config
ファイルを作成し、以下の内容を追加して保存してください。
NuGet.configを作成します。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
</configuration>
-
に戻ってください。
.sln
のフォルダーに新しいテキストファイルを作成し、その名前を.tfignore
(Windowsエクスプローラの場合は、上記と同じ要領で、名前を.tfignore.
) - そのファイルに、次の内容を入れます。
.tfignore。
# Ignore the NuGet packages folder in the root of the repository.
# If needed, prefix 'packages' with additional folder names if it's
# not in the same folder as .tfignore.
packages
# include package target files which may be required for msbuild,
# again prefixing the folder name as needed.
!packages/*.targets
- この内容をすべて保存し、TFS にコミットしてから & を閉じます。Visual Studio を再度開くと、packages フォルダがチェックイン待ちであることをチームエクスプローラが認識しなくなるはずです。
-
Windowsエクスプローラからコピー&ペーストして
.tfignore
ファイルと.nuget
フォルダを様々なソリューションにコピーしてコミットすると、もうpackages
フォルダがソースコントロールレポに忍び込もうとしているのです!
さらなるカスタマイズ
私のものではありませんが、私が見つけたのは
これ
.tfignore
テンプレート by sirkirby
を使うと便利です。私の回答にある例では、Nugetの
packages
フォルダーを使用しますが、このテンプレートには他のものも含まれており、さらにカスタマイズしたい場合に役立つ追加の例も提供されています。
関連
-
[解決済み] シェルフセットは何のためにあるのですか?
-
[解決済み] TFSのアンシェルビング:どういう意味ですか?
-
[解決済み] TFSワークスペースのコンピュータ名を変更する
-
[解決済み] tfsでチェンジセット全体のロールバックを理解する?
-
[解決済み] TFS に packages フォルダを無視させる
-
[解決済み] TFSソースコントロールで複数のファイルを移動する
-
[解決済み] チームビルドエラーです。パス ... はすでにワークスペースにマップされています。
-
[解決済み】TFSでファイル/ディレクトリを無視し、中央のソースリポジトリに移動しないようにするにはどうすればよいですか?
-
[解決済み] Visual Studio 2012でTFSの "Unshelve "オプションを見つけることができますか?
-
[解決済み] TFSのチェンジセットをコメントテキストで検索して表示するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] シェルフセットは何のためにあるのですか?
-
[解決済み] TFSのアンシェルビング:どういう意味ですか?
-
[解決済み] TFSワークスペースのコンピュータ名を変更する
-
[解決済み] tfsでチェンジセット全体のロールバックを理解する?
-
[解決済み】TFSバインディングを完全に削除する方法
-
[解決済み] チームビルドエラーです。パス ... はすでにワークスペースにマップされています。
-
[解決済み】TFSでファイル/ディレクトリを無視し、中央のソースリポジトリに移動しないようにするにはどうすればよいですか?
-
[解決済み] Visual Studio 2012でTFSの "Unshelve "オプションを見つけることができますか?
-
[解決済み] TFSのローカルフォルダを削除する
-
[解決済み] TFSのチェンジセットをコメントテキストで検索して表示するには?