Team Foundation バージョン管理からのインポートについて
Team Foundation バージョン管理 (TFVC) リポジトリを Git に変換するには、Azure Repos を使うことをお勧めします。 ただし、Azure Repos で移行される履歴は最大 180 日間のみです。 さらに多くの履歴を保持したい場合は、代わりに git-tfs
を使用できます。
Azure Repos を使用して移行する (推奨)
注: Azure Repos では、最大 180 日間の履歴のみが移行されます。 180 日のしきい値より前のリポジトリの状態は、1 回の初期コミットで移行されます。 さらに多くの履歴を保持するには、「git-tfs
を使用して移行する」をご覧ください。
これらの手順のようにするには、macOS または Linux システムを使い、次のツールをインストールする必要があります。
- Git
- Git Large File Storage (Git LFS) (「Git Large File Storage をインストールする」をご覧ください)
-
GitHub に新しいリポジトリを作成します。 エラーが発生しないようにするには、新しいリポジトリの初期化に README、ライセンス、または gitignore ファイルを使わないでください。 これらのファイルは、プロジェクトを GitHubにプッシュした後で追加できます。 詳しくは、「新しいリポジトリの作成」を参照してください。1. お使いのコンピューターに Git がインストールされていることを確認するには、
git --version.
を実行します。出力は
git version 2.40.0
のようになります。1. Git LFS がコンピューターにインストールされていることを確認するには、git lfs --version
を実行します。出力は
git-lfs/3.1.4 (GitHub; darwin arm64; go 1.18.1)
のようになります。 -
Azure Repos を使って TFVC リポジトリを Git に変換します。 手順については、Microsoft Learn の「TFVC から Git にリポジトリをインポートする」をご覧ください。
-
Azure Repos リポジトリをローカル コンピューターにクローンするには、
git clone --mirror URL
を実行し、URL を Azure DevOps リポジトリのクローン URL に置き換えます。Azure DevOps リポジトリのクローン URL を確認するには、Microsoft Learn の「Azure Repos Git リポジトリの複製 URL を取得する」をご覧ください。
-
GitHub リポジトリをリモートとして追加するには、
URL
を先程作成した GitHub リポジトリの URL (例:https://github.com/octocat/example-repository.git
) で置き換えて、git remote add origin URL
を実行します。1. リポジトリを GitHub にプッシュするには、git push --mirror origin
を実行します。リポジトリに GitHub のファイル サイズ制限を超えるファイルが含まれている場合、プッシュが失敗する可能性があります。
git lfs import
を実行して、大きなファイルを Git LFS に移動してから、もう一度やり直してください。
git-tfs
を使用して移行する
git-tfs
を使って移行した場合は、TFVC リポジトリの完全な履歴が保持されます。
これらの手順に従って行うには、Windows を使って、次のツールをインストールする必要があります。
- Visual Studio Team Explorer
git-tfs
。Chocolatey を使って、またはバイナリ リリースを手動でダウンロードして、インストールします- Git
- Git Large File Storage (Git LFS) (「Git Large File Storage をインストールする」をご覧ください)
-
GitHub に新しいリポジトリを作成します。 エラーが発生しないようにするには、新しいリポジトリの初期化に README、ライセンス、または gitignore ファイルを使わないでください。 これらのファイルは、プロジェクトを GitHubにプッシュした後で追加できます。 詳しくは、「新しいリポジトリの作成」を参照してください。1. お使いのコンピューターに Git がインストールされていることを確認するには、
git --version.
を実行します。出力は
git version 2.40.0
のようになります。 -
お使いのコンピューターに
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 チーム エクスプローラーが正しくインストールされていることを確認します。 -
Git LFS がコンピューターにインストールされていることを確認するには、
git lfs --version
を実行します。出力は
git-lfs/3.1.4 (GitHub; darwin arm64; go 1.18.1)
のようになります。 -
まだ行っていない場合は、自分の名前とメール アドレスで Git を構成します。それには、
git config --global user.name "NAME"
とgit config --global user.email EMAIL
を実行し、NAME を自分の名前、EMAIL を自分のメール アドレスに置き換えます。 -
git tfs clone
を実行し、TFVC リポジトリの URL とリポジトリ パスを引数として渡します。 たとえば、example
リポジトリをhttps://dev.azure.com/octocat
から/example
ディレクトリに格納されている Git リポジトリに変換するには、git tfs clone --branches=all https://dev.azure.com/octocat $/example
を実行します。 -
新しく作成された Git リポジトリのディレクトリに移動します。1. GitHub リポジトリをリモートとして追加するには、
URL
を先程作成した GitHub リポジトリの URL (例:https://github.com/octocat/example-repository.git
) で置き換えて、git remote add origin URL
を実行します。1. リポジトリを GitHub にプッシュするには、git push --mirror origin
を実行します。リポジトリに GitHub のファイル サイズ制限を超えるファイルが含まれている場合、プッシュが失敗する可能性があります。
git lfs import
を実行して、大きなファイルを Git LFS に移動してから、もう一度やり直してください。