web-dev-qa-db-ja.com

TFSに変更を検出させる

これは非常に単純なもののようですが、これを行う方法が見つかりません...

作成したスクリプトを使用して、レポ内に広がるいくつかのファイルに変更を加えました。問題は、TFSの無限の知恵がファイルが変更されたとは考えていないことです。手動で各ファイルを見つけて「編集用のチェックアウト」をクリックする以外に、TFSにすべてを再スキャンして変更を検出するように指示する方法はありますか?

36
Ilia G

フォルダー比較([ファイル]-> [ソース管理]-> [比較...])でうまくいくはずです。比較を開始する場所から最上位のフォルダーを選択し、最新バージョンとの比較を選択します。結果には、変更されたファイルと、それらがチェックアウトされているかどうかが表示されます。

19

TFSには、このための「調整」コマンドがあります。完全な回答については、 https://stackoverflow.com/a/22860674/932282 を参照してください。

16
mhu

ローカルワークスペース

local Workspaceを使用する必要があります。ワークスペースを管理する方法は次のとおりです。

visualstudio.com: "ワークスペースの作成と操作"

ワークスペースを追加または編集するときは、Advanced >>をクリックします。次に、Location:Localに設定します。

これで、スクリプトなどがVisual Studioの外部でファイルを変更すると、ワークスペースがchangesを自動的に検出します。

addsまたはdeletesも検出しますが、Pending Changesの下のリンクを使用して、手動でExcluded Changesに含める必要があります

Detected adds under Pending Changes in Team Explorer

しかし注意が必要ですaddsまたはdeletesが検出され、Pending Changesに追加した場合、ファイルはプロジェクトに自動的に含まれません。したがって、それらをTFSにチェックインすることはできますが、Solution Explorerの下にはリストされません。

Matt Burkeには、この問題に対する修正があります。

mattburkdev.com: "Visual Studioのフォルダー内のすべてのファイルを自動的に含める"

プロジェクトファイルを編集するには、プロジェクトを右クリックしてUnload Projectを選択し、もう一度右クリックしてEditを選択します。プロジェクトファイルを編集したら、保存して閉じます。次に、右クリックしてLoad Projectを選択します。

ただし、プロジェクトを開いているときではなく、プロジェクトを読み込むときに、プロジェクトがこれらのフォルダー内の新しいファイルのみを検索するため、注意が必要です。そのため、一部のファイルがVisual Studioの外部に追加された場合、プロジェクトをリロードするだけです。


サーバーワークスペース

しかし、何らかの理由でサーバーワークスペースに固執する必要がある場合は、別のトリックがあります:

FIRST:保留中の変更がある可能性のあるすべてのファイルをチェックアウトします(多くのファイルをチェックアウトします)。次に、Team Explorer-> Pending Changesに移動し、チェックアウトしたばかりのすべてのファイルを選択します。次に、「変更を元に戻す」を選択します。この後、「チェックアウトの取り消しを確認してください」というメッセージが表示されます。このメッセージは、実際に変更されたファイルに対してのみポップアップ表示されます!各ファイルに対して「NO」または「No to All」を押します。

FINALLY:保留中の変更の下では、保留中の変更があるファイルを除くすべてのファイルがリストから削除されます。


私は誰かを助けることができれば幸いであり、あなたが私がしなければならなかった限り、この解決策を検索する必要はなかった

8
Silvan Egger

オフライン時に変更が発生した場合、[ファイル]> [ソース管理]> [オンラインにする]に移動すると、すべてのファイルの変更が確認されます。

4
heneryville

上記のいずれも機能しない場合は、[ファイル]-> [ソース管理]-> [詳細]-> [ソース管理の変更]に移動して、プロジェクトの再バインドを試みることもできます。

2
arviman

Visual Studio 2015の場合:

Source Control -> Advances -> Refresh Status

Source Control -> Advances -> Refresh Status

1
Orhan

プロジェクトをあるPCから別のPCに移動したとき、私はしばらくこの問題を抱えていました。解決策は、TFSがソリューションフォルダーに作成した一時ファイルを削除することでした。 .vsおよび非表示の$tfフォルダーを削除します。

運が悪い場合は、ローカルPCでソリューションフォルダーを別のフォルダーにコピーし、ソリューション内のすべてのファイルを削除し、TFSサーバーから最新バージョンを取得してから、コピーしたフォルダーから必要な編集済みファイルを取得するに戻しますソリューションフォルダー(これにより、一部のファイルが上書きされます)。

結局、プロジェクトマッピングを確認することを忘れないでください。すべてが正しいと思われる場合は、ソリューションと[ソース管理に追加]オプションを右クリックしてみてください。

0
AmiNadimi