Team Foundation バージョン管理とは

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Visual Studio 2022 |Visual Studio 2019 |Visual Studio 2017 |Visual Studio 2015 |Visual Studio 2013

ソフトウェア プロジェクトが大きいか小さいかにかかわらず、できるだけ早くバージョン管理を使用することをお勧めします。 バージョン管理システムは、時間の経過に伴ってコードで行った変更を追跡するのに役立つソフトウェアです。 コードを編集するときに、バージョン管理システムにファイルのスナップショットを作成するように指示します。 バージョン コントロール システムはスナップショットを永続的に保存するので、後で必要なときに呼び戻すことができます。

Azure DevOps Servicesと TFS には、バージョン管理の 2 つのモデル (分散型バージョン管理である Git)と、一元化されたバージョン管理である Team Foundation バージョン管理 (TFVC) が用意されています。 この記事では、Team Foundation バージョン管理を使用するための概要と開始点について説明します。 使用するAzure DevOps Services/TFS バージョン コントロールの種類を決定する場合は、「プロジェクトに適したバージョン コントロールの選択」を参照してください。

バージョン管理を使用する理由

バージョン コントロールを使用しないと、コンピューターにコードの複数のコピーが保持されることになります。 コードの間違ったコピー内のファイルを簡単に変更または削除し、作業が失われる可能性があるため、これは危険です。 バージョン コントロール システムでは、コードのすべてのバージョンを管理し、一度に 1 つのバージョンを表示することで、この問題を解決します。

バージョン管理システムには、次の利点があります。

  • ワークフローの作成 - バージョン管理ワークフローは、異なるツールと互換性のないツールを使用して、独自の開発プロセスを使用するすべてのユーザーの混乱を防ぎます。 バージョン管理システムでは、プロセスの適用とアクセス許可が提供されるため、全員が同じページにとどまります。
  • バージョンの操作 - すべてのバージョンには、バグの修正や機能の追加など、バージョンの変更に関する説明があります。 これらの説明は、個々のファイル変更ではなく、バージョン別にコードの変更をフォローする場合に役立ちます。 バージョンに格納されているコードは、必要に応じていつでもバージョン コントロールから表示および復元できます。 これにより、任意のバージョンのコードから新しい作業を簡単に行うことができます。
  • コードの連携 - バージョンコントロールによってバージョンが同期され、変更がチームの他の変更と競合しないようにします。 チームは、ユーザーが同時に変更を加えた場合でも、競合の解決と防止に役立つバージョン管理に依存しています。
  • 履歴を保持 する - チームが新しいバージョンのコードを保存すると、バージョン 管理によって変更履歴が保持されます。 この履歴を確認して、誰が、なぜ、いつ変更を行ったかを調べることができます。 履歴を使用すると、以前の適切なバージョンにいつでもロールバックできるため、実験に自信を持つことができます。 履歴を使用すると、以前のリリースのバグを修正するなど、任意のバージョンのコードから基本作業を行うことができます。
  • タスクの自動化 - バージョン管理の自動化機能により、チームの時間を節約し、一貫性のある結果を生成できます。 新しいバージョンがバージョン管理に保存されると、テスト、コード分析、デプロイを自動化できます。

バグの再現、新しいツールの学習、新機能やコンテンツの追加など、開発者としての時間がかかることはたくさんあります。 ユーザーの要求がスケールアップするにつれて、バージョン管理はチームが連携して時間通り出荷するのに役立ちます。

Team Foundation バージョン管理

Team Foundation バージョン管理 (TFVC) は、一元化されたバージョン管理システムです。 通常、チーム メンバーの開発用コンピューターには、各ファイルの 1 つのバージョンだけが存在します。 履歴データはサーバーにのみ保持されます。 分岐はパスに基づき、サーバー上で作成されます。

TFVC を使用すると、 詳細なアクセス許可 を適用し、アクセスをファイル レベルに制限できます。 チームはすべての作業をTeam Foundation Serverにチェックするため、変更を簡単に監査し、変更セットでチェックインしたユーザーを特定できます。 比較注釈を使用すると、行われた正確な変更を識別できます。

クイックスタート

概要、プロジェクトの作成、ワークスペースの構成、コードの確認と共有を行います。 次のいずれかのクライアントまたは IDE を使用できます。

ステップバイステップのチュートリアル

Visual Studioと TFVC を使用した devops 開発者の生活の一日を示す次のチュートリアルで、TFVC での作業の基本について説明します。

目的に合ったトピックをクリックしてください

  • 開発用コンピューターをセットアップして作業を開始する

    バージョン管理されたコードベースのすべての利点を活用できるように、数分間、時間をさいて開発用コンピューターをセットアップします。

  • ワークフロー モデル (サーバーまたはローカル ワークスペース) を選択する

    • サーバー ワークスペース - 変更を行う前に、チーム メンバーは公的にファイルをチェックアウトします。 ほとんどの操作では、開発者がサーバーに接続している必要があります このシステムは、ワークフローのロックを容易にします。 同じように動作する他のシステムとして、Visual Source Safe、Perforce、および CVS があります。 サーバー ワークスペースを使用すると、ブランチごとに数百万個のファイルと大きなバイナリ ファイルを使用して、非常に大きなコードベースにスケールアップできます。

    • ローカル ワークスペース - 各チーム メンバーは、最新バージョンのコードベースのコピーを取得し、必要に応じてオフラインで動作します。 開発者は、自分の変更をチェックインし、必要に応じて競合を解決します。 同じように動作する別のシステムとして、Subversion があります。

  • バージョン管理されたコードベースでアプリを開発する

    ほとんどの状況では、バージョン管理について考える必要はありません。 変更を管理し把握する必要があるときにシステムのサポートを受けます。

  • 作業を中断する

    行っている作業の一部または全部を棚上げしなくてはいけない場合があります。 バージョン管理システムによって、面倒を減らし、中断によって無駄になる時間を短縮できます。

  • チームに作業を投稿する

    チームが作成した値をビルド、テスト、リリースできるように、変更をチェックインします。

  • リスクを分離する

    分岐とロックを使用して、異なるチームが作業することでもたらされるリスクを分離します。

  • 過去のバージョンの表示と管理

    バージョン管理システムの利点の 1 つとして、ファイルに加えられた変更について、過去にさかのぼって詳細情報を確認できる機能があります。

  • フォルダーとファイルの比較

    サーバー フォルダーとローカル フォルダーを相互に比較して、各フォルダーでの内容の相違点を表示できます。

  • Team Foundation バージョン管理の競合の解決

    バージョン管理を使用する大きな利点は、複数のメンバーがファイルを同時に操作できることです。 1 つの欠点は、ときには競合を解決する必要があることです。 競合が発生すると手間がかかることもありますが、競合を把握して解決するのに役立つ情報とツールが用意されています。

  • バージョンコントロールロックを操作する

    ファイルまたはフォルダーのチェックアウトと変更を防ぐ必要がある場合は、これらをロックできます。

tf ommand-Line からのみ使用できる操作

次の表に、 tf コマンド ライン ツールを使用してコマンド プロンプトでのみ実行できる Team Foundation バージョン管理のタスクを示します。

タスク command
別のユーザーのワークスペースを削除します。 /delete オプションを使用したワークスペース コマンド。
別のユーザーのチェックアウトを元に戻します。 Undo コマンド
別のユーザーのロックを削除します。 Lock コマンド
ラベルスコープを定義します。 Label コマンド
ベースレス マージを実行します。 Merge コマンド
コンテンツを完全に破棄します。 Destroy コマンド
1 つ以上の変更セットの効果をロールバックします。 Rollback コマンド