次の方法で共有


Git リポジトリを完全に忠実な履歴と共に別のプロジェクトに移動する

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

Git ロゴ

複数の Azure DevOps プロジェクトを 1 つに統合する予定の場合は、次のようなこと検討します。

  • すべてのリポジトリで何を実行するか
  • それらを移動するか、マージするか
  • 履歴を保持するか、氷山の一角だけ保持するか

この記事では、完全に忠実な履歴と共に Git リポジトリを別のプロジェクトに移動する方法について説明します。

シナリオの内容

示されているように、MigrationDemo リポジトリを FabrikamOld から新しい Fabrikam チーム プロジェクトに移動する必要があります。

リポジトリの移動のシナリオ

移動する方法

以下に概略が説明されているように、2 つのオプションがあります。 インポート機能の方がより簡単ですが、Azure DevOps Services および TFS 2017 Update 1 以降でのみ使用できます。

Git リポジトリのインポート機能を使用する

リポジトリのインポート機能を使用すると、Team Foundation Server (TFS)、Azure Repos、または GitHub などのその他の Git ソース コード プロバイダーからチーム プロジェクトに Git リポジトリをインポートできます。 詳細については、リポジトリのインポートに関するドキュメントを参照してください。

5 つの簡単な手順で Git リポジトリを手動で移行する:

空の Git リポジトリを作成します。

コード エクスプローラーで、リポジトリ名をクリックします。 一覧から [新しいリポジトリ] を選び、種類として [Git] を選んで、名前を付けます。

新しいリポジトリの作成

リポジトリが作成されると、すぐに開始するための詳細な手順が表示されます。 Clone URL をクリップボードにコピーします。

新しいリポジトリの情報

重要

別のプロジェクト コレクションまたは外部 Git リポジトリからインポートする場合は、[コミットのコメントで言及された作業項目のリンクを自動的に作成します] を解除します。 そうしないと、Azure DevOps によってコミットがチーム プロジェクト コレクション内の無関係なチーム プロジェクトの既存の作業項目に関連付けられます。

新しいリポジトリのオプションとリンクの警告

リポジトリをミラーリングする

開発者コマンド プロンプトに切り替え、FabrikamOld 内の MigrationDemo リポジトリのローカル (ソース) リポジトリへのパスに切り換えます。 上記のクローン URL を使用して、git clone --mirror コマンドを実行します。

コマンド ライン: git clone --mirror https://demo-fabrikam.visualstudio.com/DefaultCollection/Fabrikam/_git/MigrationDemo

この場合、リモート リポジトリは空であるため、示されている clone --mirror は余計です。 これは、リモートを設定するための安全で簡単な方法としてここで使用されています。

Git Clone コマンドの完了

リポジトリをプッシュする

git push コマンドを実行して、ローカルでの変更をリモート (ターゲット) リポジトリにプッシュします。

Git Push コマンドの完了

--mirror オプションは、clone と push の両方のコマンドで使用されます。 このオプションを使用すると、すべてのブランチと他の属性が新しいリポジトリにレプリケートされます。

新しいリポジトリを検証する

Azure DevOps Web ポータルに切り替え、新しいリポジトリと [CODE] ハブの履歴を検証します。

CODE エクスプローラーでのリポジトリ検証

すべてのブランチが新しいリポジトリに移動されたことを確認します。

新しいリポジトリを構成する

新しいリポジトリに対してアクセス許可とポリシーが正しく構成されていることを確認します。 セキュリティは、手順 1 の後、またはこの段階で構成できます。 新しいリポジトリに接続するようにビルドを再構成します。 最後に、元のリポジトリのユーザーに Visual Studio で各自のリモートを更新する (git remote set-url origin コマンドを実行する) ように通知します。

> git remote set-url origin https://demo-fabrikam.visualstudio.com/DefaultCollection/Fabrikam/_git/MigrationDemo

重要

必ず元のプロジェクトをクリーンアップしてください。方法は、リポジトリを削除するか (元に戻せないので、注意してください)、誰も誤ってそれを引き続き更新しないようにブランチをロックします。

チーム プロジェクト コレクションとチーム プロジェクトの立案の詳細については、「TFS 計画、ディザスターの回避とリカバリー」と TFS on Azure Iaas Guide.pdf を参照してください。

作成者: Jesse Houwing、Mike Fourie、Willy Schaub | 作成者と ALM DevOps Rangers とつながる

(c) 2016 Microsoft Corporation. All rights reserved. このドキュメントは、"現状のまま" 提供されます。URL およびその他のインターネット Web サイトの参照を含む、このドキュメントの情報および見解は、予告なしに変更することがあります。 このドキュメントの使用上のリスクは、すべてユーザーが負うものとします。

このドキュメントは、Microsoft 製品の知的財産権に関する法的な権利をお客様に許諾するものではありません。 内部での参照を目的とする場合、このドキュメントをコピーして使用できます。