Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022
複数の Azure DevOps プロジェクトを 1 つに統合する場合は、すべてのリポジトリで何をすべきか疑問に思うでしょう。
- プロジェクトを移動するか、マージする必要がありますか?
- 履歴を保持するか、最新のプロジェクトだけを保持する必要がありますか?
[前提条件]
| カテゴリ | Requirements |
|---|---|
| プロジェクトへのアクセス権 | プロジェクトのメンバー。 |
| アクセス許可 | - プライベート プロジェクトのコードを表示する: 少なくとも Basic アクセス。 - プライベート プロジェクトのコードを複製または投稿する: 共同作成者セキュリティ グループのメンバー、またはプロジェクト内の対応するアクセス許可。 - ブランチまたはリポジトリのアクセス許可を設定する: 管理アクセス許可 は、ブランチまたはリポジトリのアクセス許可です。 - 既定のブランチを変更する: 編集ポリシー はリポジトリのアクセス許可です。 - リポジトリをインポートする: プロジェクト管理者 セキュリティ グループのメンバーまたは Git プロジェクト レベルの [リポジトリ の作成 ] アクセス許可が [許可] に設定されています。 詳細については、「 Git リポジトリのアクセス許可を設定する」を参照してください。 |
| サービス | リポジトリが有効になっています。 |
| ツール | Optional.
az reposコマンドを使用する: Azure DevOps CLI。 |
注
パブリック プロジェクトでは、 利害関係者 アクセス権を持つユーザーは、コードの表示、複製、投稿など、Azure Repos へのフル アクセス権を持ちます。
| カテゴリ | Requirements |
|---|---|
| プロジェクトへのアクセス権 | プロジェクトのメンバー。 |
| アクセス許可 | - コードの表示: 基本 アクセスが最低限必要です。 - コードの複製または投稿: 共同作成者 セキュリティ グループのメンバー、またはプロジェクト内の対応するアクセス許可。 |
| サービス | リポジトリが有効になっています。 |
シナリオは何ですか?
次に示すように、 MigrationDemo リポジトリを FabrikamOld から新しい Fabrikam チーム プロジェクトに移動する必要があります。
移動方法
移動には、次の 2 つのオプションがあります。 インポート機能は簡単ですが、Azure DevOps Services と Team Foundation Server 2017 Update 1 以降でのみ使用できます。
Git リポジトリのインポート機能を使用する
リポジトリのインポート機能を使用すると、Team Foundation Server、Azure Repos、または GitHub などの他の Git ソース コード プロバイダーから、Git リポジトリをチーム プロジェクトにインポートできます。 詳細については、「 Git リポジトリをプロジェクトにインポートする」を参照してください。
Git リポジトリを手動で移行する
空の Git リポジトリを作成する
CODE エクスプローラーで、リポジトリ名を選択します。 一覧から [新しいリポジトリ ] を選択し、種類として [Git ] を選択し、名前を付けます。
リポジトリが作成されると、開始に役立つ詳細な手順が表示されます。 複製 URL をクリップボードにコピーします。
Important
別のプロジェクト コレクションまたは外部の Git リポジトリからインポートする予定の場合は、[ コミット コメント] オプションに記載されている作業項目のリンクを自動的に作成 するオプションをオフにします。 それ以外の場合、Azure DevOps は、コミットをチーム プロジェクト コレクション内の関連のないチーム プロジェクトの既存の作業項目に関連付けます。
リポジトリをミラー化する
開発者コマンド プロンプトに切り替え、MigrationDemoのFabrikamOld リポジトリのローカル (ソース) リポジトリへのパスを指定します。 複製 URL を使用して git clone --mirror コマンドを実行します。 コマンド ラインが git clone --mirror https://demo-fabrikam.visualstudio.com/DefaultCollection/Fabrikam/_git/MigrationDemo。
リモート リポジトリがベアであるため、この場合、 clone --mirror コマンドは冗長です。 これは、リモートを設定するための安全で簡単な方法としてここで使用されます。
リポジトリをプッシュする
git push コマンドを実行して、ローカルの変更をリモート (ターゲット) リポジトリにプッシュします。
--mirror オプションは、複製コマンドとプッシュ コマンドの両方で使用されます。 このオプションを使用すると、すべてのブランチとその他の属性が新しいリポジトリにレプリケートされます。
新しいリポジトリを検証する
Azure DevOps Web ポータルに切り替え、新しいリポジトリと CODE ハブの履歴を検証します。
すべてのブランチが新しいリポジトリに移動されたことを確認します。
新しいリポジトリを構成する
新しいリポジトリに対してアクセス許可とポリシーが正しく構成されていることを確認します。 空の Git リポジトリを作成した後、またはこの段階でセキュリティを構成できます。 新しいリポジトリに接続するようにビルドを再構成します。 最後に、Visual Studio でリモートを更新するか、 git remote set-url origin コマンドを実行して、元のリポジトリをユーザーに通知します。
> git remote set-url origin https://demo-fabrikam.visualstudio.com/DefaultCollection/Fabrikam/_git/MigrationDemo
Important
リポジトリを削除するか (元に戻さないように注意してください)、または誰も誤って更新し続けないようにブランチをロックして、元のプロジェクトをクリーンアップすることを忘れないでください。
チーム プロジェクト コレクションとチーム プロジェクトの計画の詳細については、「 TFS の計画、ディザスター 回避と回復、および Azure IaaS ガイドの TFS」を参照してください。