TFS などのソース管理システムはすべて、非常によく似た線で機能します。サーバーのバージョンのコードを「コード」として扱います。これはマスター コピーであり、サーバーによって「所有」されます。次に、PC でコードのコピーを取得できます (ワークスペース マッピングを追加することにより、このコピーを配置する場所を指定します)。コードのコピーに変更を加え、チェックインして、サーバー上のコードのマスター バージョンに適用し直すことができます。
したがって、ワークスペース マッピングを変更すると (たとえば、コードのコピーの場所をフォルダー A からフォルダー B に変更する)、ソース管理システムに「場所 A にあるコードのコピーを取り除いてください。 B」に入れます。これが、すべての「あなたの」コードを削除した理由です。それは「あなたの」コードではなく、サーバーのコードのコピーでした-あなたはそれをあなたのPCの別の場所に置くように頼みました...そうしました。
ただし、ワークスペース内のいずれかのコードを編集した場合、ファイルはチェックアウトされているはずです。この場合、TFS は保留中の変更があることを認識しており、それらのファイルを削除すべきではありませんでした。保留中の変更を含むワークスペース マッピングを変更しようとしたため、エラーが発生しました。
これが起こらない唯一の方法は、手動でファイルを書き込み可能に変更し、Visual Studio/TFS の外部でそれらに変更を加えた場合です。これにより、TFS は変更を行ったことを認識しませんでした。一部のファイルを「ひそかに」変更した場合、TFS はそれらが変更されていないと見なし、完全に削除した可能性があります。これらのファイルは、ファイル回復ツールに表示されない場合があります。これは、TFS にワークスペースの再配置を依頼することで、ファイルを削除してからすぐに (新しいフォルダーに) 再取得することになり、削除されたファイルのデータがほぼ確実に上書きされるためです。ファイル。
変更がチェックインされている可能性がある場合は、次のように見つけることができます。TFS ソース管理ビューでチーム プロジェクトに移動します。プロジェクトを右クリックし、[履歴の表示] オプションを選択します。これにより、プロジェクトへのすべてのチェックインが履歴の逆順で一覧表示されます。チェックインした場合は、ここにチェックインが表示されます。(履歴内の任意のチェンジセット エントリをダブルクリックして、変更されたファイルのリストを表示できます。任意のファイルを右クリックすると、「比較...」を実行して、どのような変更が行われたかを正確に示す差分を表示できます)
変更がチェックイン履歴にない場合は、残念ながら失われています。
あなたはすでにこれを学んでいると思いますが、ソース管理などのツールを適切に使用することを学ぶことが重要です。これらは便利で強力なツールですが、その仕組みを理解していないと危険な場合があります。