Trabajar con varios repositorios y submódulos

La compatibilidad con varios repositorios está disponible en Visual Studio 2022 , versión 17.4 y posteriores. Es una de las características más solicitadas de la Comunidad de desarrolladores. Puede tener hasta 25 repositorios de Git activos al mismo tiempo en Visual Studio.

La compatibilidad con varios repositorios significa que puede trabajar con una solución que abarque más de un repositorio y aplicar operaciones de Git en varios repositorios al mismo tiempo. Por ejemplo, en un proyecto web grande, es posible que necesite repositorios diferentes para administrar el trabajo realizado en el front-end, la API, la base de datos, la documentación, junto con varias bibliotecas y dependencias. Antes de admitir varios repositorios, es posible que tenga varias instancias de Visual Studio abiertas para trabajar entre repositorios. Ahora puede administrar, ver y depurar todos los repositorios abiertos con una instancia de Visual Studio.

Nota:

Para ver la compatibilidad con varios repositorios en acción, puede ver el video Usar varios repositorios Git en Visual Studio en YouTube.

Si tiene más de una cuenta de GitHub, puede cambiar fácilmente entre ellas. Para más información, consulte Incorporación de cuentas de GitHub a la cadena de claves. Es posible que tenga acceso a diferentes repositorios cuando haya iniciado sesión con otra cuenta. Visual Studio actualiza automáticamente la configuración de Git para realizar un seguimiento de la cuenta que se usa para cada repositorio.

Administración de submódulos de Git

A partir de Visual Studio 18.9, la compatibilidad con submódulos de Git de primera clase aborda una característica de Developer Community muy solicitada. Puede administrar submódulos sin salir del IDE. Visual Studio muestra los submódulos en una sección específica llamada Submodules de la ventana Repositorio Git.

Captura de pantalla de la sección Submódulos de la ventana Repositorio de Git con tres submódulos.

El selector de rama y repositorio refleja la jerarquía entre repositorios principales y secundarios. La ventana Cambios de Git también identifica los cambios por repositorio.

Captura de pantalla del selector de repositorios en la ventana Cambios de Git que muestra los repositorios primarios y sus submódulos.

En la sección Submódulos , puede agregar, actualizar y eliminar submódulos. Visual Studio detecta y activa automáticamente submódulos al abrir una solución o carpeta. Para reducir el desorden, los submódulos no aparecen en la lista general de repositorios locales.

Captura de pantalla de la ventana Repositorio de Git con el comando Eliminar seleccionado para un submódulo.

De forma predeterminada, Visual Studio trata los submódulos como de solo lectura. Para realizar cambios en los submódulos, seleccione Herramientas>Opciones>>Control de código fuente>Configuración de Git. En Activar automáticamente varios repositorios, seleccione Sí, incluya submódulos. La configuración surte efecto la próxima vez que se cargue la solución.

Administración de sucursales y seguimiento de los cambios

La compatibilidad con varios repositorios amplía las funcionalidades de las ventanas Cambios de Git y Repositorio de Git . Puede administrar los escenarios de varios repositorios de la misma forma que lo haría al trabajar con un único repositorio.

Captura de pantalla del botón Nueva rama en Visual Studio.

Puede crear las ramas en varios repositorios a la vez mediante el cuadro de diálogo de creación de ramas extendidas.

Captura de pantalla del cuadro de diálogo

A continuación, a medida que realice cambios, la ventana Cambios de Git realiza un seguimiento del trabajo separado por el repositorio. Puede agregar al "stage" y hacer "commit" como lo haría normalmente.

Captura de pantalla de la ventana Cambios de Git que realiza un seguimiento de los cambios en el trabajo.

Puede usar los selectores de ramas en la barra de estado y la ventana de herramientas Cambios de Git para cambiar las ramas. Lo único que debe hacer es seleccionar la rama que quiere extraer del repositorio. Además, puede realizar operaciones de ramificación de bucles internos, como fusionar mediante combinación ("merge"), fusionar mediante cambio de base ("rebase"), cambiar el nombre, eliminar y comparar las ramas al hacer clic con el botón derecho en la rama para abrir el menú contextual.

Captura de pantalla de la funcionalidad del selector de ramas en la ventana de Cambios de Git.

Además, puede realizar operaciones de administración de repositorios y ramas más avanzadas en la ventana Repositorio de Git .

Captura de pantalla de la funcionalidad del selector de ramas en la ventana de la herramienta Repositorio de Git.

Operaciones de red

Una vez que esté listo para confirmar los cambios, el cuadro de diálogo de operaciones de red facilita la especificación de la rama exacta en la que va a insertar los cambios y reordenar los envíos. Este mismo cuadro de diálogo permite ejercer más control sobre otras operaciones de red, como captura y extracción.

Captura de pantalla que muestra una acción de empuje en el cuadro de diálogo de operaciones de red.

Configuración del repositorio

Puede usar las opciones de configuración del repositorio de Git para configurar un repositorio específico. Por ejemplo, puede especificar si se van a eliminar ramas remotas durante la recuperación de cambios.

En el panel de Herramientas>Opciones, expanda la sección Todos los ajustes>Control de código fuente>Ajustes de Git>Configuración del repositorio Git. Use la lista desplegable Repositorio para seleccionar el repositorio que se va a configurar.

Captura de pantalla de las opciones de configuración del repositorio de Git en Visual Studio.

También puede configurar las mismas opciones para todos los repositorios en la sección Configuración de Git>Configuración global de Git.

Puede usar las opciones de configuración del repositorio de Git para configurar el repositorio que está abierto actualmente en Visual Studio. Por ejemplo, puede especificar si se van a eliminar ramas remotas durante la recuperación de cambios.

En el cuadro de diálogo Herramientas>Opciones, expanda la sección Control de Código Fuente>Configuración del Repositorio Git>General.

Captura de pantalla de la configuración del repositorio de Git, opciones generales en Visual Studio.

Puede configurar algunas de las mismas opciones para todos los repositorios en la sección Configuración global de Git>de control de código fuente.

Activación de varios repositorios desde una solución o una carpeta

Puede activar varios repositorios desde una solución o una carpeta.

Uso de una solución

A continuación se muestra cómo crear una solución con varios repositorios:

  1. Abra una de las soluciones existentes que ya tiene un repositorio inicializado.

  2. Haga clic con el botón derecho en la solución en el Explorador de soluciones y seleccione Agregar>proyecto existente.

  3. Seleccione el archivo .csproj para otro proyecto que tenga un repositorio inicializado.

    Después de agregar el proyecto, Visual Studio detecta y activa el segundo repositorio. A continuación, puede ajustar las referencias de proyecto según sea necesario.

Si crea un nuevo proyecto en una solución existente con otros proyectos que tienen repositorios locales o remotos, debe inicializar el nuevo proyecto con git init. Después de inicializar el nuevo proyecto, puede ver los repositorios usados por los otros proyectos de la solución.

Uso de una carpeta

Si los repositorios que necesita son independientes y no necesitan estar en la misma solución, puede usar una carpeta para abrirlos.

Coloque los directorios del repositorio local en la misma carpeta primaria. Use la opción Abrir una carpeta local desde la página de inicio de Visual Studio para abrir la carpeta primaria. Visual Studio detecta y activa cada repositorio y, a continuación, realiza un seguimiento de los cambios por repositorio (como se muestra en la captura de pantalla siguiente).

Captura de pantalla que muestra cómo puede activar varios repositorios desde una carpeta en Visual Studio.