Azure DevOps Services |Azure DevOps Server 2022 |Azure DevOps Server 2020
Visual Studio 2019 |Visual Studio 2022
ソフトウェア プロジェクトが大きいか小さいかに関係なく、できるだけ早くバージョン管理を使用することをお勧めします。 バージョン管理システムは、時間の経過に伴ってコードで行った変更を追跡するのに役立つソフトウェアで構成されています。 コードを編集するときに、ファイルのスナップショットを取得するようにバージョン管理システムに指示します。 バージョン管理システムでは、そのスナップショットが永続的に保存されるため、後で必要に応じて再呼び出しできます。
Azure DevOps Services と TFS には、分散バージョン管理である Git と、一元化されたバージョン管理である Team Foundation バージョン管理 (TFVC) の 2 つのモデルが用意されています。 この記事では、TFVC を使用するための概要と開始点について説明します。 使用する Azure DevOps Services/TFS バージョン コントロールの種類を決定する場合は、「 プロジェクトに適したバージョン コントロールの選択」を参照してください。
バージョン管理を使用する理由
バージョン管理がないと、コードの複数のコピーをコンピューターに保持する必要があります。 これは危険です。コードの間違ったコピー内のファイルを簡単に変更または削除できるため、作業が失われる可能性があります。 バージョン管理システムは、コードのすべてのバージョンを管理しながら、一度に 1 つのバージョンを提示することで、この問題を解決します。
バージョン管理システムには、次の利点があります。
- ワークフローの作成 - バージョン管理ワークフローは、異なるツールと互換性のないツールで独自の開発プロセスを使用して、すべてのユーザーの混乱を防ぎます。 バージョン管理システムでは、プロセスの適用とアクセス許可が提供されるため、全員が同じページにとどまります。
- バージョンを操作する - すべてのバージョンには、バグの修正や機能の追加など、バージョンの変更に関する説明があります。 これらの説明は、個々のファイルの変更ではなく、バージョン別のコードの変更に従うのに役立ちます。 バージョンに格納されているコードは、必要に応じていつでもバージョン 管理から表示および復元できます。 これにより、新しい作業を任意のバージョンのコードから簡単に実行できます。
- コードの組み合わせ - バージョン コントロールはバージョンを同期し、変更がチームの他の変更と競合しないようにします。 チームは、ユーザーが同時に変更を加えた場合でも、競合の解決と防止に役立つバージョン管理に依存しています。
- 履歴を保持 する - チームがコードの新しいバージョンを保存すると、バージョン 管理によって変更の履歴が保持されます。 この履歴を確認して、変更が行われたユーザー、理由、およびタイミングを確認できます。 履歴を使用すると、以前の適切なバージョンにいつでもロールバックできるため、実験に自信を持つことができます。 履歴を使用すると、以前のリリースのバグを修正するなど、任意のバージョンのコードの基本作業を行うことができます。
- タスクの自動化 - バージョン管理の自動化機能により、チームの時間を節約し、一貫した結果を生成できます。 新しいバージョンがバージョン管理に保存されたときに、テスト、コード分析、デプロイを自動化できます。
開発者として時間がかかることがたくさんあります。バグの再現、新しいツールの学習、新機能やコンテンツの追加などです。 ユーザーの要求がスケールアップするにつれて、バージョン管理はチームが連携して期限内に出荷するのに役立ちます。
Team Foundation バージョン管理
TFVC は、一元化されたバージョン管理システムです。 通常、チーム メンバーは開発用マシン上の各ファイルのバージョンを 1 つだけ持ちます。 履歴データはサーバーにのみ保持されます。 分岐はパスに基づき、サーバー上で作成されます。
TFVC を使用すると、 詳細なアクセス許可 を適用し、アクセスをファイル レベルに制限できます。 チームはすべての作業を Azure DevOps Server にチェックインするため、変更を簡単に監査し、 変更セットでチェックインしたユーザーを特定できます。 比較と注釈を使用すると、行われた正確な変更を識別できます。
Quickstarts
プロジェクトの作成、ワークスペースの構成、コードの確認と共有を開始します。 次のいずれかのクライアントまたは IDE を使用できます。
ステップ バイ ステップのチュートリアル
次のチュートリアルで TFVC での作業の基本について説明します。このチュートリアルでは、Visual Studio と TFVC を使用した DevOps 開発者の生活の中で 1 日を示します。
どうしたいんですか。
-
バージョン管理されたコードベースのすべての利点を利用するように開発マシンをセットアップするために数分かかります。
ワークフロー モデル (サーバーまたはローカル ワークスペース) を選択する
サーバー ワークスペース - 変更を行う前に、チーム メンバーはファイルをパブリックにチェックアウトします。 ほとんどの操作では、開発者がサーバーに接続されている必要があります。 このシステムは、ワークフローのロックを容易にします。 この方法で動作する他のシステムには、Visual Source Safe、Perforce、CVS があります。 サーバー ワークスペースを使用すると、ブランチごとに数百万個のファイルと大きなバイナリ ファイルを使用して、非常に大きなコードベースにスケールアップできます。
ローカル ワークスペース - 各チーム メンバーは、最新バージョンのコードベースのコピーを取得し、必要に応じてオフラインで動作します。 開発者は変更をチェックインし、必要に応じて競合を解決します。 この方法で動作するもう 1 つのシステムは Subversion です。
-
ほとんどの状況では、バージョン管理について考える必要はありません。 変更を管理して理解する必要がある場合は、システムによってサポートされます。
-
場合によっては、作業の一部またはすべてを確保する必要があります。 バージョン管理システムは、一部の痛みを取り除き、中断によって無駄な時間を短縮することができます。
-
チームが作成した値に基づいてビルド、テスト、リリースできるように、変更をチェックインします。
-
ブランチとロックを使用して、さまざまなチームによって行われた作業によって発生するリスクを分離します。
-
バージョン 管理システムの利点の 1 つは、ファイルに対して行われた変更に関する詳細情報を取得するために、時間を振り返ることができる点です。
-
サーバー フォルダーとローカル フォルダーを比較し、各フォルダーの内容の違いを確認できます。
Team Foundation バージョン管理の競合を解決する
バージョン管理を使用する大きな利点は、複数のユーザーが 1 つのファイルで同時に作業できることです。 欠点の 1 つは、競合を解決しなければならない場合があるということです。 競合に遭遇するのはイライラする可能性がありますが、システムには、競合を理解して解決するのに役立つ情報とツールが用意されています。
-
ファイルまたはフォルダーがチェックアウトおよび変更されないようにする必要がある場合は、ロックできます。
tf コマンド ラインからのみ使用できる操作
次の表に、 tf
コマンド ライン ツールを使用してコマンド プロンプトでのみ実行できる TFVC のタスクを示します。
Task | Command |
---|---|
別のユーザーのワークスペースを削除します。 |
workspace
/delete オプション |
別のユーザーのチェックアウトを元に戻します。 | undo |
別のユーザーのロックを削除します。 | lock |
ラベル スコープを定義します。 | label |
ベースレスマージを実行します。 | merge |
コンテンツを完全に破棄します。 | destroy |
1 つ以上の変更セットの効果をロールバックします。 | rollback |