Acerca de las importaciones desde el Control de versiones de Team Foundation
Se recomienda usar Azure Repos para convertir el repositorio del Control de versiones de Team Foundation (TFVC) a Git. Sin embargo, Azure Repos solo migra hasta 180 días de historial. Si deseas conservar más historial, puedes usar git-tfs
en su lugar.
Migración con Azure Repos (recomendado)
Nota: Azure Repos solo migra hasta 180 días de historial. El estado del repositorio antes del umbral de 180 días se migrará en una única confirmación inicial. Para conservar más historial, consulta "Migración con git-tfs
".
Para seguir estos pasos, debes usar un sistema macOS o Linux y tener instaladas las siguientes herramientas:
- Git
- Almacenamiento de archivos de gran tamaño de Git (Git LFS) (consulta "Instalar Git Large File Storage")
-
Cree un repositorio nuevo en GitHub. Para evitar errores, no inicialices el nuevo repositorio con el archivo LÉAME, la licencia o archivos gitignore. Puedes agregar estos archivos después de que tu proyecto se haya subido a GitHub Enterprise Server. Para obtener más información, vea «Crear un repositorio nuevo».
-
Para confirmar que Git está instalado en el equipo, ejecuta
git --version.
.La salida debe ser similar a
git version 2.40.0
. -
Para confirmar que Git LFS está instalado en el equipo, ejecuta
git lfs --version
.La salida debe ser similar a
git-lfs/3.1.4 (GitHub; darwin arm64; go 1.18.1)
. -
Convierte el repositorio de TFVC a Git mediante Azure Repos. Para obtener instrucciones, consulta Importación de repositorios de TFVC a Git en Microsoft Learn.
-
Para clonar el repositorio de Azure Repos en la máquina local, ejecuta
git clone --mirror URL
y reemplaza la dirección URL por la dirección URL de clonación del repositorio de Azure DevOps.Para identificar la dirección URL de clonación del repositorio de Azure DevOps, consulta Obtención de la dirección URL de clonación de un repositorio de Git de Azure Repos en Microsoft Learn.
-
Para agregar el repositorio GitHub como remoto, ejecuta
git remote add origin URL
y reemplazaURL
por la dirección URL del repositorio GitHub que creó anteriormente, comohttps://github.com/octocat/example-repository.git
. -
Para insertar el repositorio en GitHub, ejecuta
git push --mirror origin
.Si el repositorio contiene archivos mayores que el tamaño de archivo de GitHub Enterprise Server, es posible que se produzca un error en la inserción. Mueve los archivos grandes a Git LFS mediante la ejecución de
git lfs import
y vuelve a intentarlo.
Migración con git-tfs
Si migras con git-tfs
, conservarás el historial completo del repositorio de TFVC.
Para seguir estos pasos, debes usar Windows y tener instaladas las siguientes herramientas:
- Team Explorer de Visual Studio
git-tfs
, instalado con Chocolatey o descargando manualmente la versión binaria- Git
- Almacenamiento de archivos de gran tamaño de Git (Git LFS) (consulta "Instalar Git Large File Storage")
-
Cree un repositorio nuevo en GitHub. Para evitar errores, no inicialices el nuevo repositorio con el archivo LÉAME, la licencia o archivos gitignore. Puedes agregar estos archivos después de que tu proyecto se haya subido a GitHub Enterprise Server. Para obtener más información, vea «Crear un repositorio nuevo».
-
Para confirmar que Git está instalado en el equipo, ejecuta
git --version.
.La salida debe ser similar a
git version 2.40.0
. -
Para confirmar que
git-tfs
está instalado en el equipo, ejecutagit tfs --version
.La salida debe comenzar con algo similar a
git-tfs version 0.32.0.0 (TFS client library 16.0.0.0 (MS))
.Si obtienes una salida similar a
Unable to load DLL 'Microsoft.VisualStudio.Setup.Configuration.Native.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
, asegúrate de que Visual Studio Team Explorer está instalado correctamente. -
Para confirmar que Git LFS está instalado en el equipo, ejecuta
git lfs --version
.La salida debe ser similar a
git-lfs/3.1.4 (GitHub; darwin arm64; go 1.18.1)
. -
Si aún no lo has hecho, configura Git con el nombre y la dirección de correo electrónico mediante la ejecución de
git config --global user.name "NAME"
ygit config --global user.email EMAIL
, reemplazando NAME por tu nombre y EMAIL por tu dirección de correo electrónico. -
Ejecuta
git tfs clone
y pasa la dirección URL del repositorio de TFVC y la ruta de acceso del repositorio como argumentos. Por ejemplo, para convertir el repositorioexample
dehttps://dev.azure.com/octocat
en un repositorio de Git almacenado en el directorio/example
, ejecutagit tfs clone --branches=all https://dev.azure.com/octocat $/example
. -
Accede al directorio del repositorio de Git recién creado.
-
Para agregar el repositorio GitHub como remoto, ejecuta
git remote add origin URL
y reemplazaURL
por la dirección URL del repositorio GitHub que creó anteriormente, comohttps://github.com/octocat/example-repository.git
. -
Para insertar el repositorio en GitHub, ejecuta
git push --mirror origin
.Si el repositorio contiene archivos mayores que el tamaño de archivo de GitHub Enterprise Server, es posible que se produzca un error en la inserción. Mueve los archivos grandes a Git LFS mediante la ejecución de
git lfs import
y vuelve a intentarlo.