Skip to main content

Team Foundation バージョン管理リポジトリをインポートする

Team Foundation バージョン管理 (TFVC) リポジトリを Git に変換するには、Azure Repos を使うことをお勧めします。 ただし、Azure Repos で移行される履歴は最大 180 日間のみです。 さらに多くの履歴を保持したい場合は、代わりに git-tfs を使用できます。

メモ

Azure Repos では、最大 180 日間の履歴のみが移行されます。 180 日のしきい値より前のリポジトリの状態は、1 回の初期コミットで移行されます。 さらに多くの履歴を保持するには、「git-tfs を使用して移行する」を参照してください。

これらの手順のようにするには、macOS または Linux システムを使い、次のツールをインストールする必要があります。

  1. に新しいリポジトリを作成します。 エラーが発生しないようにするには、新しいリポジトリの初期化に README、ライセンス、または gitignore ファイルを使わないでください。 これらのファイルは、プロジェクトが にプッシュされた後に追加できます。 詳しくは、「新しいリポジトリの作成」をご覧ください。1. お使いのコンピューターに Git がインストールされていることを確認するには、git --version. を実行します。

    出力は git version 2.40.0 のようになります。1. Git LFS がコンピューターにインストールされていることを確認するには、git lfs --version を実行します。

    出力は git-lfs/3.1.4 (; darwin arm64; go 1.18.1) のようになります。

  2. Azure Repos を使って TFVC リポジトリを Git に変換します。 手順については、Microsoft Learn の「TFVC から Git にリポジトリをインポートする」をご覧ください。

  3. Azure Repos リポジトリをローカル コンピューターにクローンするには、git clone --mirror URL を実行し、URL を Azure DevOps リポジトリのクローン URL に置き換えます。

    Azure DevOps リポジトリのクローン URL を確認するには、Microsoft Learn の「Azure Repos Git リポジトリの複製 URL を取得する」をご覧ください。

  4. リポジトリをリモートとして追加するには、URL を先程作成した リポジトリの URL (例: https://.com/octocat/example-repository.git) で置き換えて、git remote add origin URL を実行します。1. リポジトリを にプッシュするには、git push --mirror origin を実行します。

    リポジトリに のファイル サイズ制限を超えるファイルが含まれている場合、プッシュが失敗する可能性があります。 git lfs import を実行して、大きなファイルを Git LFS に移動してから、もう一度やり直してください。

git-tfs を使って移行した場合は、TFVC リポジトリの完全な履歴が保持されます。

これらの手順に従って行うには、Windows を使って、次のツールをインストールする必要があります。

  1. に新しいリポジトリを作成します。 エラーが発生しないようにするには、新しいリポジトリの初期化に README、ライセンス、または gitignore ファイルを使わないでください。 これらのファイルは、プロジェクトが にプッシュされた後に追加できます。 詳しくは、「新しいリポジトリの作成」をご覧ください。1. お使いのコンピューターに Git がインストールされていることを確認するには、git --version. を実行します。

    出力は git version 2.40.0 のようになります。

  2. お使いのコンピューターに git-tfs がインストールされていることを確認するには、git tfs --version を実行します。

    出力が、git-tfs version 0.32.0.0 (TFS client library 16.0.0.0 (MS)) のような記述で始まっている必要があります。

    Unable to load DLL 'Microsoft.VisualStudio.Setup.Configuration.Native.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E) のような出力が表示される場合は、Visual Studio チーム エクスプローラーが正しくインストールされていることを確認します。

  3. Git LFS がコンピューターにインストールされていることを確認するには、git lfs --version を実行します。

    出力は git-lfs/3.1.4 (; darwin arm64; go 1.18.1) のようになります。

  4. まだ行っていない場合は、自分の名前とメール アドレスで Git を構成します。それには、git config --global user.name "NAME"git config --global user.email EMAIL を実行し、NAME を自分の名前、EMAIL を自分のメール アドレスに置き換えます。

  5. git tfs clone を実行し、TFVC リポジトリの URL とリポジトリ パスを引数として渡します。 たとえば、example リポジトリを https://dev.azure.com/octocat から /example ディレクトリに格納されている Git リポジトリに変換するには、git tfs clone --branches=all https://dev.azure.com/octocat $/example を実行します。

  6. 新しく作成された Git リポジトリのディレクトリに移動します。1. リポジトリをリモートとして追加するには、URL を先程作成した リポジトリの URL (例: https://.com/octocat/example-repository.git) で置き換えて、git remote add origin URL を実行します。1. リポジトリを にプッシュするには、git push --mirror origin を実行します。

    リポジトリに のファイル サイズ制限を超えるファイルが含まれている場合、プッシュが失敗する可能性があります。 git lfs import を実行して、大きなファイルを Git LFS に移動してから、もう一度やり直してください。