1

私の目標は、コードの「最新バージョン」を既存の変更セットのものにすることです。[ロールバック] を選択し、その特定の変更セットにロールバックしますが、私のコードは変更セットのコードを反映するように変更されません。さらに、その特定の変更セットに対して「特定のバージョンを取得」を試みました。ローカル コードが変更セットのコードに変更されている間、「最新」と表示されている TFS の列には、元に戻されたファイルの「いいえ」が表示されます。下のスクリーンショットを参照してください。以下のスクリーンショットは、「Get Specific Version」の結果です。

ここに画像の説明を入力

質問: 「Get Specific Version」と「Roll Back」の違いは何ですか? 現在のコード ベースを既存の変更セットのコード ベースに本質的に変更し、それを「最新バージョン」として保持することが私の目標である場合 (TFS の理由により、TFS を使用して Web サーバーにデプロイしようとしていますが、 TFS には「最新バージョンがありません」 - 上のスクリーンショットを参照してください。現在の最新バージョンを使用していますが、これは私が使用したいものではありません - 以前のチェンジセットのコード ベースからデプロイしたい)、どうすればよいですか?それを行う?

4

2 に答える 2

3

「特定のバージョンを取得」すると、ローカル ワークスペースのバージョンがサーバー上の以前のバージョンに変更されます。これは、サーバー上の最新バージョンには影響しません。(もちろん、そのパスをチェックアウトしてチェックインすることもできます。これ、サーバー上の最新バージョンに影響します。)

「ロールバック」すると、サーバーのバージョンが変更されます。このアクションの実行方法によっては、ローカル ワークスペースのバージョンを変更しない場合があります。「最新バージョンを取得」を実行すると、その最新バージョンに同期されます。

于 2013-10-16T13:39:09.917 に答える
2

古いバージョンのコードをビルド/デプロイするだけの場合は、デフォルトのビルド テンプレートを使用して変更セット番号 (または日付) を指定し、古いバージョンのコードを使用するように強制できます。

TFS の「現在の」コードを本当に変更する必要がある場合は、ロールバックを実行できます。しかし、ロールバックの理解が間違っているようです。「このチェンジセットにロールバックする」のではなく、「このチェンジセットに含まれる変更をロールバックする」のです。

したがって、最新バージョンが v9 で、v5 に戻したい場合は、変更セット v6-9 をロールバックする必要があります。これらの 4 つの変更セットすべてを強調表示して、1 回の操作ですべてロールバックできます。その後チェックイン。

これにより、古いバージョンを取得してからチェックアウト/チェックインするよりも優れたエクスペリエンスが得られます。履歴はユーザーが行ったことをより正確に反映し、競合解決ダイアログは間違ったことをしようとしなくなります (取得してからチェックイン/アウトを行った場合のように)。

于 2013-10-16T15:41:33.453 に答える