0

これは初心者のワークフローに関する質問です。私は Git に慣れており、その SCM では、外部フォルダーをリポジトリにマージし、すべてをコミットしてプッシュするのは非常に簡単です。ただし、TFSでそれを行う方法がわかりません。私は Visual Studio を使用していません。私が持っているのは、TFS Power Tools のシェル拡張と Eclipse のプラグインです。

TFS でエミュレートしたいワークフローは、Git では次のようになります。

  1. 私のリポジトリに移動しますC:\myproject
  2. 次のような他のフォルダーを取得しますC:\myproject-v2.0
  3. Beyond Compare を開き、手動で にマージmyproject-v2.0myprojectます。
    • 注: これには、ファイルの変更だけでなく、ファイルの追加と削除も含まれます。これは、TFS にとってはより困難なシナリオのように思われます。
  4. git commit
  5. git push

本当に重要な部分はステップ 3 です。インテリジェントなフォルダー比較ツールを使用する必要があります。そうしないと、フォルダーのマージが非常に困難になります。TFSファイルのステータスなどを処理しているように見えるIDE(私の場合はEclipse)で直接作業することはできません。

TFS を SCM としてワークフローを実行しようとすると、手順 4 で「保留中の変更はありません」という結果になります。他に何をする必要がありますか?

4

1 に答える 1

2

ワークフローの唯一の違いは、TFS を使用しているServer WorkspacesLocal Workspaces、TFS を使用しているかです。それ以外は同じワークフローです。

サーバー ワークスペース - ファイル/フォルダーを削除しない

  1. Check out比較したいフォルダ
  2. ...のような他のフォルダを取ります。
  3. Beyond Compare を開いて手動でマージする
  4. Check Inフォルダ

ローカル ワークスペース- TFS 2012 のみ

  1. 次のような他のフォルダを取ります...
  2. Beyond Compare を開いて手動でマージする
  3. Check In保留中の変更。

これら 2 つのワークフローの決定的な違いはCheck Out、最初にフォルダーが必要かどうかです。

更新 - サーバー ワークスペースを使用していて、ファイルを削除する場合のワークフロー

あるいは、TFS Power Toolsがあります。フォルダーへの変更を同期できるツールがあります。このツールは、オフラインで作業し、後で変更を同期できるように設計されています。

tfpt online

  1. 次のような他のフォルダーを取得します...
  2. Beyond Compare を開いて手動でマージする
  3. tfpt onlineコマンド ライン ツールを実行する
  4. 保留中の変更をチェックインします。

更新 - Team Explorer Everywhere を使用している場合の別の方法 - @Edward-Thomson から

Team Explorer Everywhere の組み込みの "オンラインに戻る" 機能を使用することもできます。Java プロジェクトを右クリックし、[チーム] > [ローカルの変更を検出] を選択します。

于 2013-03-29T12:25:11.457 に答える