Team Foundation バージョン管理とは

Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019 |TFS 2018

Visual Studio 2019 |Visual Studio 2022

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

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

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

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

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

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

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

Team Foundation バージョン管理

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

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

クイックスタート

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

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

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

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

  • 開発用コンピューターを設定して開始する

    バージョン管理されたコードベースのすべての利点を活用するように開発マシンをセットアップするには、数分かかります。

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

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

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

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

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

  • 作業を中断する

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

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

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

  • リスクを分離する

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

  • 過去のバージョンを表示および管理する

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

  • フォルダーとファイルを比較する

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

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

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

  • バージョン 管理ロックを操作する

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

tf コマンド ラインからのみ使用できる操作

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

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