Acerca de Git en Visual Studio

Visual Studio proporciona una interfaz de usuario para Git, un sistema de control de versiones moderno ampliamente usado. Tanto si el código fuente se hospeda en un repositorio de GitHub, como en Azure DevOps o en otro proveedor de Git, puede realizar todas las tareas comunes de control de versiones dentro del IDE de Visual Studio. O bien, puede trabajar localmente sin ningún proveedor, con la opción de hacer una copia de seguridad del origen más adelante cuando esté listo para conectarse a un proveedor.

El código fuente con el que trabaja no tiene que haberse creado con Visual Studio. Puede trabajar con cualquier carpeta de origen en cualquier repositorio de Git, tanto si hay un archivo de proyecto de Visual Studio como si no.

Primeros pasos con Git y GitHub en Visual Studio

Para empezar a usar Git con Visual Studio:

  • Si tiene un repositorio Git hospedado en un proveedor de Git como GitHub, clone el repositorio en el equipo local.

  • De lo contrario, cree fácilmente un repositorio de Git y agregue el código. Si aún no tiene un proveedor de Git, se recomienda comenzar con GitHub, ya que la experiencia de Git en Visual Studio está optimizada para este proveedor. GitHub ofrece almacenamiento de código en la nube gratuito y seguro donde puede guardar su código y acceder a él desde cualquier dispositivo y en cualquier lugar.

No solo puede agregar cuentas GitHub y GitHub Enterprise a la cadena de claves, sino que también puede aprovecharlas igual que con las cuentas de Microsoft. Si no tiene una cuenta de GitHub, siga estos pasos para crear una cuenta de GitHub a fin de usarla con Visual Studio ahora.

Captura de pantalla del cuadro de diálogo Crear un repositorio de Git en Visual Studio.

Si deseas usar comandos de Git en la línea de comandos, también debes instalar Git para Windows (no es un producto de Microsoft).

Vista de archivos en el Explorador de soluciones

Al clonar un repositorio o abrir un repositorio local, Visual Studio cambia al contexto de Git. El Explorador de soluciones carga la carpeta en la raíz del repositorio de Git y examina el árbol de directorios en busca de cualquier archivo visible, como CMakeLists.txt o los que tienen la extensión de archivo .sln. Para obtener más información, consulte Vista de archivos en el Explorador de soluciones.

Ramas y repositorios remotos

Puede usar ramas para mantener los cambios relacionados separados de los cambios no relacionados en los que también está trabajando. El flujo de trabajo recomendado de Git usa una nueva rama para cada característica o corrección en la que trabaje. Descubra cómo crear una rama a partir de Visual Studio.

Cuando se crea una rama y se cambia a ella, se puede empezar a trabajar cambiando los archivos existentes o agregando otros nuevos y confirmando luego el trabajo en el repositorio. Para obtener más información sobre cómo realizar una confirmación en Visual Studio y comprender mejor los estados de los archivos en Git, consulte la página Creación de una confirmación.

Git es un sistema de control de versiones distribuido, lo que significa que todos los cambios realizados hasta ahora son solo cambios locales. Para contribuir con estos cambios a un repositorio remoto, debe insertar esas confirmaciones locales en un repositorio remoto.

Si trabaja en un equipo o si usa diferentes equipos, quizá deba capturar y extraer a menudo los nuevos cambios en el repositorio remoto. Para obtener más información sobre la administración de operaciones de red de Git en Visual Studio, consulte la página Captura, extracción, inserción y sincronización.

Se muestran el IDE de Visual Studio con el menú de Git y la pestaña cambios de Git en el Explorador de soluciones.

Administración del repositorio y colaboración

Pero hay ocasiones en las que tiene más sentido centrarse en el repositorio de Git. Por ejemplo, es posible que necesite obtener una buena imagen de lo que ha estado trabajando el equipo, copiar una confirmación de otra rama o simplemente limpiar las confirmaciones salientes. Visual Studio incluye características de colaboración y exploración del repositorio muy eficaces, que eliminan la necesidad de usar otras herramientas.

Para ayudarle a centrarse en el repositorio de Git, Visual Studio tiene una nueva ventana Repositorio de GIT, que es una vista consolidada de todos los detalles del repositorio, incluidas las ramas locales y remotas y los historiales de confirmación. Puede acceder a esta ventana directamente desde Git o Vista en la barra de menús o desde la barra de estado.

El IDE de Visual Studio, que resalta el menú de Git y la pestaña de cambios de Git en el Explorador de soluciones.

Examen y administración de repositorios de Git

Para obtener más información sobre cómo puede usar la ventana Repositorio de GIT en Visual Studio para examinar y administrar el repositorio de Git, consulte las páginas siguientes:

Control de conflictos de combinación

Pueden producirse conflictos durante una combinación si dos desarrolladores modifican las mismas líneas en un archivo y Git no sabe automáticamente cuál es la correcta. Git detiene la fusión mediante combinación e informa de que está en un estado Con conflictos. Obtenga más información en la página Resolución de conflictos de combinación.

Personalización de la configuración de Git

Para personalizar la configuración de Git en un nivel de repositorio, así como en un nivel global:

  1. Vaya a Git>Configuración en la barra de menús o a Herramientas>Opciones>Control del origen>Configuración global de Git

  2. Seleccione las opciones que quiera.

    Captura de pantalla del cuadro de diálogo Opciones donde puede elegir la configuración de personalización en el IDE de Visual Studio.

Mejoras de productividad

En la versión 17.12 de Visual Studio 2022, puede seleccionar cualquier sección de código y, a continuación, hacer clic con el botón derecho, expandir el submenú de Git y elegir Copiar GitHub Permalink (o Copiar AzureDevOps Permalink) para generar un GitHub Permalink o Azure DevOps Permalink y copiarlo en el Portapapeles. Desde allí, puede pegarlo en cualquier lugar donde se pueda usar un vínculo, en el explorador o compartirlo por correo electrónico, sesiones de chat y documentos. También puede hacer lo mismo en la vista de detalles de confirmación insertada en la ventana Repositorio de Git. Esta característica permite hacer referencia a código específico de confirmaciones anteriores sin cambiar las ramas. Debe iniciar sesión en Visual Studio con una cuenta con el proveedor de hospedaje de Git, GitHub o Azure DevOps.

En Visual Studio 2022 versión 17.6, puede buscar y vincular a problemas de GitHub y elementos de trabajo de Azure DevOps. Consulte la entrada de blog Características de Git Features para mejorar la productividad .

Ahora Git es la experiencia de control de versiones predeterminada en Visual Studio 2019. Desde la versión 16.6, hemos trabajado en la creación del conjunto de características y la iteración en él en función de vuestros comentarios. En la versión 16.8, se convirtió en la experiencia de control de versiones predeterminada para todos los usuarios.

Nota

También seguimos compilando e iterando en la característica de Git establecida en Visual Studio 2022. Para obtener más información sobre las actualizaciones recientes de la característica, vea la entrada de blog Compatibilidad de varios repositorios en Visual Studio.

Más información sobre Git

Git es el sistema de control de versiones moderno más usado, por lo que tanto si es un desarrollador profesional como si está aprendiendo a codificar, Git puede resultarle muy útil. Si ha empezado a usar Git recientemente, el sitio web https://git-scm.com/ es un buen punto de partida. Allí encontrará hojas de referencia rápida, un libro en línea conocido y vídeos de conceptos básicos de Git.

Primeros pasos con Git en Visual Studio 2019

Le guiaremos por el uso de la nueva experiencia de Git en Visual Studio, pero si quiere realizar un recorrido rápido primero, eche un vistazo al vídeo siguiente:

Duración del vídeo: 5,27 minutos

Hay tres formas de empezar a usar Git con Visual Studio para ser más productivo:

Nota

A partir de la versión 16.8 de Visual Studio 2019, incluimos una experiencia de cuenta de GitHub totalmente integrada. Ahora, puede agregar cuentas de GitHub y GitHub Enterprise a la cadena de claves. Puede agregar estas cuentas y aprovecharlas igual que hace con las cuentas de Microsoft, lo que significa que tendrá una mayor facilidad para acceder a los recursos de GitHub en Visual Studio. Para más información, consulte la página Trabajar con cuentas de GitHub en Visual Studio.

Sugerencia

Si no tiene una cuenta de GitHub, puede empezar siguiendo los pasos descritos en la página Creación de una cuenta de GitHub para usarla con Visual Studio.

Creación de un repositorio Git en Visual Studio 2019

Si el código no está asociado a Git, puede empezar por crear un repositorio de Git. Para ello, seleccione GIT>Crear repositorio GIT en la barra de menús. A continuación, en el cuadro de diálogo Crear un repositorio GIT, escriba su información.

Cuadro de diálogo Crear un repositorio GIT en Visual Studio.

El cuadro de diálogo Crear un repositorio GIT facilita la inserción del nuevo repositorio en GitHub. De forma predeterminada, el nuevo repositorio es privado, lo que significa que usted es el único que puede acceder a él. Si desactiva la casilla, el repositorio será público, lo que significa que cualquier persona en GitHub podrá verlo.

Sugerencia

Tanto si el repositorio es público como privado, es mejor tener una copia de seguridad remota del código almacenada de forma segura en GitHub, aunque no esté trabajando con un equipo. Así también tendrá el código a su disposición independientemente de la máquina que use.

Puede optar por crear un repositorio de Git solo local mediante la opción Solo locales. También puede vincular el proyecto local a un repositorio remoto vacío existente en Azure DevOps o cualquier otro proveedor de Git mediante la opción Repositorio remoto existente.

Clonación de un repositorio de Git existente en Visual Studio 2019

Visual Studio incluye una experiencia de clonación sencilla. Si conoce la dirección URL del repositorio que quiere clonar, puede pegar la dirección URL en la sección Ubicación del repositorio y luego elegir la ubicación del disco en la que quiere que Visual Studio se clone.

Cuadro de diálogo Clone a Git Repository (Clonar un repositorio de Git) en Visual Studio.

Si no conoce la dirección URL del repositorio, Visual Studio facilita la búsqueda y clonación del repositorio existente de GitHub o Azure DevOps.

Apertura de un repositorio local existente en Visual Studio 2019

Después de clonar un repositorio o de crear uno, Visual Studio detecta el repositorio de Git y lo agrega a la lista de repositorios locales en el menú de Git.

Desde aquí, puede acceder rápidamente a los repositorios de Git y cambiar de uno a otro.

Opción Local Repositories (Repositorios locales) en el menú Git de Visual Studio

Visualización de archivos en el Explorador de soluciones de Visual Studio 2019

Al clonar un repositorio o abrir un repositorio local, Visual Studio lo lleva a ese contexto de Git al guardar y cerrar cualquier solución y proyecto abiertos previamente. El Explorador de soluciones carga la carpeta en la raíz del repositorio de Git y examina el árbol de directorios en busca de cualquier archivo visible. Estos incluyen archivos tales como CMakeLists.txt o aquellos que tienen la extensión de archivo .sln.

Visual Studio ajusta su Vista en función del archivo que se cargue en el Explorador de soluciones:

  • Si clona un repositorio que contiene un solo archivo .sln, el Explorador de soluciones carga automáticamente esa solución.
  • Si el Explorador de soluciones no detecta ningún archivo .sln en el repositorio, de forma predeterminada carga la Vista de carpetas.
  • Si el repositorio tiene más de un archivo .sln, el Explorador de soluciones muestra la lista de Vistas disponibles para que pueda elegir una.

Puede alternar entre la Vista abierta actualmente y la lista de Vistas mediante el botón Cambiar de vista de la barra de herramientas del Explorador de soluciones.

Explorador de soluciones con el botón Cambiar vistas seleccionado en Visual Studio.

Para obtener más información, vea la sección Vista de archivos en el Explorador de soluciones del tutorial Abrir un proyecto desde un repositorio.

Ventana Cambios de Git en Visual Studio 2019

Git realiza un seguimiento de los cambios de archivo en el repositorio mientras usted trabaja y separa los archivos del repositorio en tres categorías. Estos cambios son equivalentes a lo que se vería al escribir el comando git status en la línea de comandos:

  • Archivos sin modificar: Estos archivos no han cambiado desde la última confirmación.
  • Archivos modificados: Estos archivos incluyen cambios realizados desde la última confirmación, pero aún no se han almacenado provisionalmente para la siguiente confirmación.
  • Archivos almacenados provisionalmente: Estos archivos tienen cambios que se agregarán a la siguiente confirmación.

Mientras usted realiza su trabajo, Visual Studio realiza un seguimiento de los cambios de archivo en el proyecto en la sección Cambios de la ventana Cambios de Git.

Ventana Cambios de Git en Visual Studio.

Cuando esté listo para almacenar provisionalmente los cambios, haga clic en el botón + (más) en cada archivo que quiera almacenar provisionalmente o haga clic con el botón derecho en un archivo y seleccione Agregar al "stage" . También puede almacenar provisionalmente todos los archivos modificados con un solo clic mediante el botón + (más) de Almacenar todo provisionalmente situado en la parte superior de la sección Cambios.

Al almacenar provisionalmente un cambio, Visual Studio crea una sección Cambios almacenados provisionalmente. Solo se agregan en la siguiente confirmación los cambios de la sección Cambios almacenados provisionalmente, lo que puede hacer seleccionando Confirmar almacenados provisionalmente. El comando equivalente para esta acción es git commit -m "Your commit message". También se puede cambiar el almacenamiento provisional de los cambios haciendo clic en el botón (menos). El comando equivalente para esta acción es git reset <file_path> para cambiar el almacenamiento provisional de los cambios de un único archivo o git reset <directory_path> para cambiar el de todos los archivos de un directorio.

También puede optar por no almacenar provisionalmente los archivos modificados omitiendo el almacenamiento provisional. En este caso, Visual Studio le permite confirmar los cambios directamente sin tener que almacenarlos provisionalmente. Solo tiene que escribir el mensaje de confirmación y luego seleccionar Confirmar todo. El comando equivalente para esta acción es git commit -a.

Visual Studio también facilita la confirmación y sincronización con un solo clic mediante los métodos abreviados Confirmar todo e insertar y Confirmar todo y sincronizar. Al hacer doble clic en cualquier archivo de las secciones sección Cambios y Cambios almacenados provisionalmente, puede ver una comparación línea a línea con la versión no modificada del archivo.

Comparación línea a línea de versiones de archivo en Visual Studio

Sugerencia

Puede asociar un elemento de trabajo de Azure DevOps con una confirmación mediante el carácter "#" si está conectado al repositorio de Azure DevOps. Puede conectar el repositorio de Azure DevOps mediante Team Explorer>Administrar conexiones.

Selección de una rama existente en Visual Studio 2019

Visual Studio muestra la rama actual en el selector situado en la parte superior de la ventana Cambios de Git.

Ramas actuales que puede ver mediante el selector situado en la parte superior del selector de Cambios de Git en Visual Studio

La rama actual también está disponible en la barra de estado en la esquina inferior derecha del IDE de Visual Studio.

Ramas actuales que puede ver mediante la barra de estado situada en la esquina inferior derecha del IDE de Visual Studio

En ambas ubicaciones, puede alternar entre las ramas existentes.

Creación de una rama en Visual Studio 2019

También puede crear una rama. El comando equivalente para esta acción es git checkout -b <branchname>.

La creación de una rama es tan sencillo como escribir el nombre de la rama y basarla en una rama existente.

Cuadro de diálogo Crear una rama nueva de Visual Studio

Puede elegir una rama local o remota existente como base. La casilla Desproteger rama le lleva automáticamente a la rama recién creada. El comando equivalente para esta acción es git checkout -b <new-branch><existing-branch>.

Ventana Repositorio de GIT en Visual Studio 2019

Visual Studio tiene una nueva ventana Repositorio de GIT, que es una vista consolidada de todos los detalles del repositorio, incluidas todas las ramas, los elementos remotos y los historiales de confirmación. Puede acceder a esta ventana directamente desde Git o Vista en la barra de menús o desde la barra de estado.

Administración de ramas en Visual Studio 2019

Al seleccionar Administrar ramas en el menú Git, verá la vista de árbol Ramas en la ventana Repositorio de GIT. En el panel izquierdo, puede usar el menú contextual para desproteger ramas, crear ramas, combinar, fusionar mediante cambio de base, selección exclusiva, etc. Al hacer clic en la rama, puede ver una vista previa del historial de confirmaciones en el panel derecho.

Confirmaciones entrantes y salientes en Visual Studio 2019

Al capturar una rama, la ventana Cambios de Git presenta un indicador en la lista desplegable Rama, que muestra el número de confirmaciones no extraídas de la rama remota. Este indicador también muestra el número de confirmaciones locales sin insertar.

Ventana Cambios de Git que muestra el elemento de la interfaz de usuario de la lista desplegable de indicadores en Visual Studio

El indicador también funciona como un vínculo que le lleva al historial de confirmaciones de esa rama en la ventana Repositorio de GIT. En la parte superior del historial se muestran los detalles de estas confirmaciones entrantes y salientes. Desde aquí, también puede optar por extraer o insertar las confirmaciones.

Ventana Repositorio de GIT que muestra el historial de confirmaciones de una rama en Visual Studio

Detalles de confirmación en Visual Studio 2019

Al hacer doble clic en una Confirmación, Visual Studio abre los detalles en una ventana de herramientas independiente. Aquí puede revertir la confirmación, restablecer la confirmación, modificar el mensaje de confirmación o crear una etiqueta en la confirmación. Al hacer clic en un archivo cambiado en la confirmación, Visual Studio abre la vista en paralelo Diferencias de la confirmación y su elemento primario.

Cuadro de diálogo Detalles de la confirmación de Visual Studio

Control de conflictos de combinación en Visual Studio 2019

Pueden producirse conflictos durante una combinación si dos desarrolladores modifican las mismas líneas en un archivo y Git no sabe automáticamente cuál es la correcta. Git detiene la fusión mediante combinación e informa de que está en un estado Con conflictos.

Visual Studio hace que sea fácil identificar y resolver un conflicto de fusión mediante combinación. En primer lugar, la ventana Repositorio de GIT muestra una barra de información dorada en la parte superior de la ventana.

Mensaje

La ventana Cambios de Git también muestra el mensaje "Fusión mediante combinación en curso con conflictos", con los archivos sin combinar en su sección independiente debajo.

Mensaje

Pero si ninguna de estas ventanas se abre y, en su lugar, se va al archivo que tiene conflictos de combinación, no tendrá que buscar el texto siguiente:

    <<<<<<< HEAD
    =======
    >>>>>>> main

En su lugar, Visual Studio muestra una barra de información dorada en la parte superior de la página que indica que el archivo abierto tiene conflictos. A continuación, puede hacer clic en el vínculo para abrir el editor de combinación.

Captura de pantalla del mensaje

Editor de combinación en Visual Studio 2019

El editor de combinación de Visual Studio es una herramienta de combinación tridireccional que muestra los cambios entrantes, los cambios actuales y el resultado de la combinación. Puede usar la barra de herramientas situada en el nivel superior del editor de combinación para desplazarse entre los conflictos y las diferencias de combinación automática en el archivo.

Editor de combinación en Visual Studio

También puede usar los controles de alternancia para mostrar u ocultar las diferencias, mostrar u ocultar las diferencias de palabras y personalizar el diseño. Hay casillas en la parte superior de cada lado que puede usar para realizar todos los cambios de un lado o del otro. No obstante, para realizar cambios individuales, puede hacer clic en las casillas situadas a la izquierda de las líneas en conflicto en cualquier lado. Por último, cuando termine de resolver los conflictos, puede seleccionar el botón Aceptar combinación del editor de combinación. Escriba luego un mensaje de confirmación y confirme los cambios para completar la resolución.

Personalización de la configuración de Git en Visual Studio 2019

Para personalizar la configuración de Git en un nivel de repositorio, así como en un nivel global, vaya a Git>Configuración o a Herramientas>Opciones>Control de código fuente en la barra de menús. Después, elija las opciones que quiera.

Cuadro de diálogo Opciones donde puede elegir la configuración de personalización en el IDE de Visual Studio.

Cómo usar la experiencia de Team Explorer heredada en Visual Studio 2019

La nueva experiencia de Git es el sistema de control de versiones predeterminado en Visual Studio 2019 a partir de la versión 16.8. Sin embargo, si desea desactivarla, puede hacerlo. Vaya a Herramientas>Opciones>Entorno>Características en versión preliminar y active la casilla New Git User Experience (Nueva experiencia de usuario de Git), que le cambiará a la experiencia de Team Explorer para Git.

Sección Características en versión preliminar del cuadro de diálogo Opciones de Visual Studio

Pasos siguientes

Sugerencia

Para obtener información sobre el uso de Git y GitHub en Visual Studio, regístrese en la serie de aprendizaje de Git.