Traslado de repositorios de Git a otro proyecto con historial de fidelidad completa

Servicios de Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Logotipo de Git

Si tiene previsto consolidar varios proyectos de Azure DevOps en uno, probablemente se pregunte qué debe hacer con todos los repositorios:

  • ¿Debe mover proyectos o combinarlos?
  • ¿Debería conservar el historial o solo los proyectos más recientes?

Prerrequisitos

Categoría Requisitos
Acceso al proyecto Miembro de un proyecto.
Permisos - Ver código en proyectos privados: al menos acceso básico.
- Clone o contribuya al código en proyectos privados: miembro del grupo de seguridad de Colaboradores o de los permisos correspondientes del proyecto.
- Establecer permisos de rama o repositorio: Administrar permisos son permisos para la rama o el repositorio.
- Cambiar rama predeterminada: las directivas de edición son permisos para el repositorio.
- Importar un repositorio: miembro del grupo de seguridad Administradores de proyectos o con permisos de crear repositorio de nivel de proyecto de Git establecidos en Permitir. Para obtener más información, consulte Establecimiento de permisos de repositorio de Git.
Servicios Repositorios habilitados.
Herramientas Optional. Uso de az repos comandos: CLI de Azure DevOps.

Nota:

En proyectos públicos, los usuarios con acceso a las partes interesadas tienen acceso completo a Azure Repos, incluida la visualización, la clonación y la contribución al código.

Categoría Requisitos
Acceso al proyecto Miembro de un proyecto.
Permisos - Ver código: acceso al menos básico.
- Clone o contribuya al código: miembro del grupo de seguridad Contributors o de los permisos correspondientes del proyecto.
Servicios Repositorios habilitados.

¿Cuál es el escenario?

Como se muestra, debe mover el MigrationDemo repositorio desde FabrikamOld al nuevo Fabrikam proyecto de equipo.

Captura de pantalla que muestra el escenario de mover el repositorio.

¿Cómo me muevo?

Tiene dos opciones para trasladarse, como se describe aquí. La funcionalidad de importación es más fácil, pero solo está disponible en Azure DevOps Services y Team Foundation Server 2017 Update 1 y versiones posteriores.

Uso de la funcionalidad importar repositorio de Git

Al usar la característica Importar repositorio, puede importar un repositorio de Git al proyecto de equipo desde Team Foundation Server, Azure Repos o cualquier otro proveedor de código fuente de Git, como GitHub. Para obtener más información, consulte Importación de un repositorio de Git en un proyecto.

Migración manual del repositorio de Git

Creación de un repositorio de Git vacío

En el Explorador de CÓDIGO, seleccione el nombre del repositorio. Seleccione Nuevo repositorio en la lista, seleccione Git como tipo y asígnele un nombre.

Captura de pantalla que muestra la creación de un repositorio.

Una vez creado el repositorio, aparecen instrucciones paso a paso para ayudarle a empezar. Copie la URL de clonación en el portapapeles.

Captura de pantalla que muestra el panel para agregar nueva información del repositorio.

Importante

Desactive la opción Crear vínculos automáticamente para los elementos de trabajo mencionados en un comentario de commit si planea importar desde una colección de proyectos diferente o un repositorio Git externo. De lo contrario, Azure DevOps asocia las confirmaciones a los elementos de trabajo existentes de proyectos de equipo no relacionados en la colección de proyectos de equipo de equipo.

Captura de pantalla que muestra las nuevas opciones del repositorio.

Reflejar el repositorio

Cambie a un terminal de comandos para desarrolladores y diríjase al repositorio local (origen) del MigrationDemo repositorio en FabrikamOld. Ejecute el comando git clone --mirror mediante la dirección URL de clonación. La línea de comandos es git clone --mirror https://demo-fabrikam.visualstudio.com/DefaultCollection/Fabrikam/_git/MigrationDemo.

El clone --mirror comando es redundante en este caso porque el repositorio remoto está vacío. Se usa aquí como una manera segura y fácil de configurar el remoto.

Captura de pantalla que muestra que el comando clonar de Git se realiza.

Empuja el repositorio

Ejecute el git push comando para insertar los cambios locales en el repositorio remoto (destino).

Captura de pantalla que muestra que el comando push de Git ha terminado.

La --mirror opción se usa con los comandos clone e push. La opción garantiza que todas las ramas y otros atributos se repliquen en el nuevo repositorio.

Validación del nuevo repositorio

Cambiar al portal web de Azure DevOps y verificar el nuevo repositorio y el historial en el hub de CÓDIGO.

Captura de pantalla que muestra la validación del repositorio en el Explorador de CÓDIGO.

Verifique que todas sus ramas se movieron al nuevo repositorio.

Configuración del nuevo repositorio

Compruebe que los permisos y las directivas están configurados correctamente para el nuevo repositorio. Puede configurar la seguridad después de crear un repositorio de Git vacío o en esta fase. Vuelva a configurar las compilaciones para conectarse con el nuevo repositorio. Por último, notifique a los usuarios del repositorio original que actualicen sus remotos en Visual Studio o ejecuten el git remote set-url origin comando .

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

Importante

Recuerde limpiar el proyecto original eliminando el repositorio (tenga cuidado, no hay deshacer) ni bloquear las ramas para que nadie lo actualice accidentalmente.

Para más información sobre cómo planear las colecciones de proyectos de equipo y los proyectos de equipo, consulte Planeación de TFS, Prevención y recuperación ante desastres y TFS en la Guía de IaaS de Azure.