Team Foundation バージョン管理とは
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
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 開発者の 1 日を示しています。
目的に合ったトピックをクリックしてください
-
バージョン コントロールされたコードベースのすべての利点を活用できるように、数分間、時間をさいて開発用コンピューターをセットアップします。
ワークフロー モデルを選択する - サーバーまたはローカル ワークスペース
サーバー ワークスペース - 変更を行う前に、チーム メンバーは公的にファイルをチェックアウトします。 ほとんどの操作では、開発者がサーバーに接続している必要があります このシステムを利用して、ワークフローを簡単にロックできます。 同じように動作する他のシステムとして、Visual Source Safe、Perforce、および CVS があります。 サーバー ワークスペースを使用すると、ブランチあたり数百万のファイルや大きなバイナリ ファイルを含む非常に大規模なコードベースに拡張できます。
ローカル ワークスペース - 各チーム メンバーは、コードベースの最新バージョンのコピーを手元に取得し、必要に応じてオフラインで作業します。 開発者は、自分の変更をチェックインし、必要に応じて競合を解決します。 同じように動作する別のシステムとして、Subversion があります。
バージョン コントロールされたコードベースでアプリケーションを開発する
ほとんどの場合、バージョン コントロールについて考える必要はありません。 変更を管理し把握する必要があるときにシステムのサポートを受けます。
-
行っている作業の一部または全部を棚上げしなくてはいけない場合があります。 バージョン管理システムによって、面倒を減らし、中断によって無駄になる時間を短縮できます。
-
変更をチェックインし、作成した内容に基づいてチームがビルドし、それをテスト、リリースできるようにします。
-
分岐とロックを使用して、異なるチームが作業することでもたらされるリスクを分離します。
-
バージョン管理システムの利点の 1 つとして、ファイルに加えられた変更について、過去にさかのぼって詳細情報を確認できる機能があります。
-
サーバー フォルダーとローカル フォルダーを相互に比較して、各フォルダーでの内容の相違点を表示できます。
-
バージョン管理を使用する大きな利点は、複数のメンバーがファイルを同時に操作できることです。 1 つの欠点は、ときには競合を解決する必要があることです。 競合が発生すると手間がかかることもありますが、競合を把握して解決するのに役立つ情報とツールが用意されています。
-
ファイルまたはフォルダーのチェックアウトと変更を防ぐ必要がある場合は、これらをロックできます。
tf コマンド ラインからのみ使用できる操作
次の表に、tf
コマンド ライン ツールを使用してコマンド プロンプトでのみ実行できる TFVC のタスクを示します。
タスク | command |
---|---|
別のユーザーのワークスペースを削除する。 | /delete オプションを指定した workspace |
別のユーザーのチェックアウトを元に戻す。 | undo |
別のユーザーのロックを削除する。 | lock |
ラベル スコープを定義する。 | label |
ベースレス マージを実行する。 | merge |
コンテンツを完全に破棄する。 | destroy |
1 つ以上の変更セットの影響をロールバックする。 | rollback |