Visual Studio 2010でTeam Foundation Server 2010を使用しています。
Visual Studioの外部でファイルを変更するたびに、TFSはそのファイルに加えられた変更を検出しないようであるため、変更後にファイルをチェックインするオプションを提供しません。
これはどのように解決できますか?
Visual Studio以外で作業しているときにサーバーにネットワーク接続している場合は、tfコマンドラインクライアントを使用するか、Windowsエクスプローラーシェル統合を使用して、編集する前にファイルをチェックアウトすることをお勧めします TFS Power Tools リリースで利用可能。 (さらに、これを自動化するTFS統合を備えた他のツールが増えていますが、メモ帳を使用しているだけの場合は、これも手動で行う必要があります。)
もちろん、作業中にファイルをチェックアウトできるネットワーク接続がない場合は何度もあります。
変更したファイルがわかっている場合は、Visual Studio内からファイルをチェックアウトするだけで、チェックインできるようになります。
編集したファイルがわからない場合は、tfpt online
コマンド(Power Toolsリリースの一部)を実行して、変更を検出できます。これにより、ローカルで変更されたファイルが検索され、これらのファイルがサーバーからチェックアウトされます。
TFSには、このための「調整」コマンドがあります。
参照: フォルダー間の違いの調整
TFS Power Toolsを使用して、これはうまくいきました。
tfpt online /adds /deletes /diff /noprompt /recursive directory-name
(directory-nameは更新するディレクトリへのパスです。それ以外の場合は、TFSリポジトリ全体の変更を検出します)
実際に変更を加えずに何をするかを知りたい場合は、/preview
スイッチを追加して強制的にドライランを実行できます。
*1- make changes outside of Visual Studio
2- go to Visual Studio and open Source Control Explorer
3- right click on the folder > "Check Out for Edit" > "Check Out"
4- right click on the same folder > "Undo Pending Changes..." > "Undo changes" > "No to All"*
この回避策をブランチでテストしましたが、非常に役立ちました。ただし、手動で行う必要があるのは新しいファイルと新しいフォルダのみです。
操作の前にブランチを作成することをお勧めします。操作の時間を隔離します。
注:この手法は、TFSが常に変更済みとしてマークするファイルと同じクリーンアップも行います。
これを試して。これは何らかの回避策ですが、動作します:
それでおしまい。変更が表示されます。
Visual Studioの外部で変更されたファイルをTFSに把握させる別のソリューションもあります。
TFSは、この後、ソリューションの変更を自動的にスキャンします。
ステップ1は、さまざまな方法で実現できます。ここに幾つかあります:
Visual Sourcesafeもこのように機能し、VSSまたはTFSに変更を通知する方法は、Visual Studio内でファイルを一度チェックアウトすることです。
過去にインターネットがダウンしてオフラインで作業していたときにこの問題が発生しましたが、ほとんどの変更はチームエクスプローラーに表示されませんでした。
次の手順に従います。まず、ソリューションエクスプローラーで、調整するフォルダー(私にとっては、ソリューションフォルダー全体)を選択し、Compare ...フィルターの変更をクリックし、filterテキストボックスに次のように入力できます:
*.cs;!obj\;!bin\;!packages\;
この例では、C#ファイルのみを検索に含め、bin、obj、packagesフォルダーを除外します。
列Pending Changeには、ファイルが編集、追加などとしてマークされているかどうか、または何も付けられていないかどうかの情報があります...
最後に、プロジェクトがここにリストされていない理由がわかりません(* .csフィルターを削除しても表示されない)ので、ソリューションを再構築してプロジェクトも更新されるようにします
+ソリューションで、Go Onlineと言った接続ボタン(表示されている場合)をクリックします。
ソース管理を開き、TFSフォルダーに移動します。フォルダを右クリックして、「比較」を選択します。
編集したファイルが赤でマークされて表示されることに注意してください。
これはtfpt online
これは、読み取り専用ではなく編集されていないファイルも取得します。
プロジェクトを開いた状態のVisual Studio 2015では、Visual Studioによってファイルが外部から変更されていることが検出され、何もしなくても自動的にチェックアウトされることがわかりました。通常の方法でプロジェクトをチェックインすると、外部の変更が保存されました。