リポジトリを公開してコラボレーションを可能にする

完了

Git により、Bicep コードへの変更を追跡する方法を説明しました。 このユニットでは、Git によってチーム メンバーとのコラボレーションも可能にする方法について説明します。

注意

このユニットのコマンドは、概念を説明するために示されています。 コマンドはまだ実行しないでください。 ここで学習した内容をすぐに練習します。

GitHub と Azure Repos とは

Git は、独自のコンピューターにインストールして実行するソフトウェアです。 説明した通り、Git ではファイルに加えた変更が追跡されます。 ブランチのような機能を有効にできます。

GitHub と Azure Repos は、Git リポジトリのコピーを保持し、共同作業による開発を可能にするオンライン サービスです。 GitHub または Azure Repos にサインアップしたら、既に使用している同じコマンドを使用して Git の操作を続行します。 引き続きローカル Git リポジトリに対して作業します。 違いは、ローカル Git リポジトリとオンライン リポジトリを同期できることです。 さらに、オンライン リポジトリへのアクセス権を他のユーザーに付与したり、それらのユーザーが自分のコードを読み取りまたは変更できるかどうかを制御することもできます。

Note

Azure Repos は、Azure DevOps の機能です。 Azure Repos を操作する場合、Azure DevOps Web サイトを使用します。

チーム環境では、チームの全員がそれぞれ独自のローカル Git リポジトリを管理し、それをオンライン コピーと同期させます。 ほとんどの状況で、オンライン コピーはチームにとって信頼できる唯一の情報源になります。

今後のモジュールで、自動化されたデプロイ パイプラインを通じて Bicep コードをデプロイする方法について説明します。 パイプラインでは、コードをオンライン リポジトリに格納されている必要があります。 パイプラインもそこからコードにアクセスします。

Note

GitHub と Azure DevOps はどちらも Git リポジトリをホストするための優れたオプションです。 組織で既にどちらかを使用している場合があります。 どちらかを優先していないのであれば、通常 GitHub の方が簡単に使い始めることができるため、それを使用することが推奨されます。

ローカル リポジトリとリモート リポジトリ

GitHub または Azure DevOps でホストされているリポジトリを操作する場合、ローカル Git リポジトリがリモート リポジトリについて認識するように構成します。 オンライン リポジトリには、Git がコンピューターからアクセスするために使用できる URL があります。 慣例的に、origin という用語は、ローカル リポジトリが同期するリモート リポジトリを指します。

また、"追跡ブランチ" も設定する必要があります。これは、ローカル リポジトリのブランチがオンライン リポジトリ内のものと同じブランチを表すことを Git に伝えるものです。 この追跡は、すべてのリポジトリ間で同期を維持する必要があるため、main ブランチに特に重要です。 他のブランチでも追跡を有効にできます。

Note

表示または変更したいリポジトリをチームで既に作成している場合があります。 git clone コマンドによってオンライン リポジトリを複製することで、リポジトリのコピーをすばやく取得できます。

ローカル リポジトリと追跡ブランチを構成したら、ローカル リポジトリの内容をリモート リポジトリにプッシュできます。 また、リモート リポジトリの変更をローカル リポジトリにプルできます。

Note

この git pull 操作では、リモート リポジトリから変更がダウンロードされ、ブランチをマージする場合と同様に、変更がマージされます。 時により、ローカル リポジトリの、リモート ブランチの一覧を更新する場合など、リモート リポジトリから変更をダウンロードすることだけを必要とする場合があります。 そのためには、git fetch コマンドを使用します。

認証

オンライン リポジトリの使用を開始する場合、セキュリティが重要になります。 インフラストラクチャとアプリケーションのソース コードは貴重であり、保護する必要があります。

GitHub と Azure DevOps には包括的なセキュリティ プロセスがあります。 どちらも、プラットフォームでホストされるリモート リポジトリの操作を開始する前に、認証する必要があります。

初めてリモート リポジトリを操作しようとすると、GitHub または Azure DevOps にサインインするように求められます。 組織によっては、多要素認証のような追加のセキュリティ チェックによって Git リポジトリを保護している場合があります。 サインインすると、Git により Git Credential Manager というコンポーネントを使用してアクセスが維持されるため、毎回サインインする必要はありません。

他のユーザーとのコラボレーション

GitHub または Azure Repos で Git リポジトリを設定したら、他のユーザーと共同作業を行う準備が整います。 チームと協力するために使用できる多くの機能があります。 知っておくべき特定の機能の 1 つは pull request と呼ばれ、よく PR と短縮されます。

pull request は、実質的には 2 つのブランチの制御されたマージです。 GitHub または Azure Repos では、マージできるユーザーとマージできる変更の種類に関するポリシーを適用できます。

一般的なチーム ワークフローでは、チーム メンバーがブランチのコードに変更を加え、次に他のユーザーにそれらの変更を main ブランチにマージするように求める pull request を作成することがあります。 他のチーム メンバーは、PR で変更の一覧を表示できます。 それらのチーム メンバーは、変更についてのフィードバックを提供したり、それらを承認する前に改訂を要求したりすることもできます。 PR は、チームのコードに関する品質管理を提供する方法になります。

PR やその他のコラボレーション機能はこのモジュールの範囲外ですが、概要にこれらの機能に関する情報へのリンクを記載しています。