Sobre as importações do Controle de Versão do Team Foundation
Recomendamos usar o Azure Repos para converter seu repositório do TFVC (Controle de Versão do Team Foundation) no Git. No entanto, o Azure Repos migra apenas até 180 dias de histórico. Caso você deseje manter um histórico maior, use git-tfs
.
Como fazer a migração com o Azure Repos (recomendado)
Observação: o Azure Repos migra apenas até 180 dias de histórico. O estado do repositório antes do limite de 180 dias será migrado em um só commit inicial. Para manter um histórico maior, confira "Como fazer a migração com o git-tfs
".
Para seguir estas etapas, você precisa usar um sistema macOS ou Linux e ter as seguintes ferramentas instaladas:
- Git
- Git Large File Storage (Git LFS) (confira "Instalar o Git Large File Storage")
-
Crie um repositório no sua instância do GitHub Enterprise Server. Para evitar erros, não inicialize o novo repositório com arquivos LEIAME, de licença ou gitignore. É possível adicionar esses arquivos após push do projeto no GitHub Enterprise Server. Para obter mais informações, confira "Criar um repositório".
-
Para confirmar se o Git está instalado no computador, execute
git --version.
A saída será parecida com
git version 2.40.0
. -
Para confirmar se o Git LFS está instalado no computador, execute
git lfs --version
.A saída será parecida com
git-lfs/3.1.4 (GitHub; darwin arm64; go 1.18.1)
. -
Converta seu repositório do TFVC no Git usando o Azure Repos. Para obter instruções, confira Importar repositórios do TFVC para o Git no Microsoft Learn.
-
Para clonar o repositório do Azure Repos no computador local, execute
git clone --mirror URL
, substituindo a URL pela URL de clone do repositório do Azure DevOps.Para identificar a URL de clone do repositório do Azure DevOps, confira Obter a URL de clone de um repositório Git do Azure Repos no Microsoft Learn.
-
Para adicionar o repositório GitHub como um repositório remoto, execute
git remote add origin URL
, substituindoURL
pela URL do repositório GitHub criado anteriormente, comohttps://github.com/octocat/example-repository.git
. -
Para efetuar push do repositório para o GitHub, execute
git push --mirror origin
.Se o repositório contiver arquivos maiores que o limite de tamanho do arquivo do GitHub Enterprise Server, poderá ocorrer uma falha no push. Mova os arquivos grandes para o Git LFS executando
git lfs import
e tente novamente.
Como migrar com o git-tfs
Se você migrar com o git-tfs
, manterá o histórico completo do repositório do TFVC.
Para seguir estas etapas, você precisa usar o Windows e ter as seguintes ferramentas instaladas:
- Team Explorer para Visual Studio
git-tfs
, instalado por meio do Chocolatey ou do download manual da versão binária- Git
- Git Large File Storage (Git LFS) (confira "Instalar o Git Large File Storage")
-
Crie um repositório no sua instância do GitHub Enterprise Server. Para evitar erros, não inicialize o novo repositório com arquivos LEIAME, de licença ou gitignore. É possível adicionar esses arquivos após push do projeto no GitHub Enterprise Server. Para obter mais informações, confira "Criar um repositório".
-
Para confirmar se o Git está instalado no computador, execute
git --version.
A saída será parecida com
git version 2.40.0
. -
Para confirmar se o
git-tfs
está instalado no computador, executegit tfs --version
.A saída começará com algo semelhante a
git-tfs version 0.32.0.0 (TFS client library 16.0.0.0 (MS))
.Se você receber uma saída semelhante a
Unable to load DLL 'Microsoft.VisualStudio.Setup.Configuration.Native.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
, verifique se o Visual Studio Team Explorer está instalado corretamente. -
Para confirmar se o Git LFS está instalado no computador, execute
git lfs --version
.A saída será parecida com
git-lfs/3.1.4 (GitHub; darwin arm64; go 1.18.1)
. -
Caso ainda não tenha feito isso, configure o Git com seu nome e endereço de email executando
git config --global user.name "NAME"
egit config --global user.email EMAIL
, substituindo NAME pelo seu nome e EMAIL pelo seu endereço de email. -
Execute
git tfs clone
, transmitindo a URL do repositório do TFVC e o caminho do repositório como argumentos. Por exemplo, para converter o repositórioexample
dehttps://dev.azure.com/octocat
em um repositório Git armazenado no diretório/example
, executegit tfs clone --branches=all https://dev.azure.com/octocat $/example
. -
Acesse o diretório do repositório Git recém-criado.
-
Para adicionar o repositório GitHub como um repositório remoto, execute
git remote add origin URL
, substituindoURL
pela URL do repositório GitHub criado anteriormente, comohttps://github.com/octocat/example-repository.git
. -
Para efetuar push do repositório para o GitHub, execute
git push --mirror origin
.Se o repositório contiver arquivos maiores que o limite de tamanho do arquivo do GitHub Enterprise Server, poderá ocorrer uma falha no push. Mova os arquivos grandes para o Git LFS executando
git lfs import
e tente novamente.