Examen de repositorios de Git y comparación de ramas en Visual Studio

La ventana Cambios de Git proporciona una forma de interactuar con Git sin problemas mientras codifica sin tener que salir del código. Pero hay ocasiones en las que tiene más sentido centrarse en el repositorio de Git. Por ejemplo, es posible que tenga que obtener una buena imagen de lo que su equipo ha estado trabajando o quizá comparar dos confirmaciones para investigar un error.

Puede trabajar de forma remota con el proveedor de Git que prefiera, como GitHub o Azure DevOps.

Examinar ramas locales y remotas

Para empezar, abra la ventana Repositorio de Git seleccionando Repositorio de Git en el menú Ver (o mediante el método abreviado de teclado Ctrl+0, Ctrl+R). También puede acceder a la ventana Repositorio de Git seleccionando los vínculos salientes o entrantes en la ventana Cambios de Git y en la barra de estado.

Screenshot that shows the anatomy of the Git Repository window.

La ventana Repositorio de Git contiene tres secciones principales, como se numera en la captura de pantalla anterior:

  1. Ramas: Git permite a los usuarios realizar varias tareas y experimentar con el código a través de ramas. Si trabaja en varias características al mismo tiempo o si quiere explorar ideas sin que esto afecte al código de trabajo, puede ser útil crear ramas.

  2. Gráfico: en esta sección se visualiza el estado de la rama. Tiene tres subsecciones:

    • Entrante muestra confirmaciones entrantes que el equipo ha contribuido.
    • Saliente muestra las confirmaciones locales que todavía no ha insertado.
    • Historial local muestra el resto de confirmaciones a las que realiza el seguimiento el repositorio local.
  3. Confirmar: al seleccionar cualquier confirmación en la sección Graph se abren sus detalles. Para comprobar los cambios que ha introducido una confirmación, selecciónelos, lo que muestra una diferencia. Por ejemplo, en la captura de pantalla anterior se muestran los cambios que se han introducido en el archivo Resize.cs.

Los métodos abreviados de teclado Alt+Flecha arriba o Alt+Flecha abajo le permiten saltar entre estas secciones.

Puede examinar cualquier rama local o remota sin tener que cambiar la rama. Cuando encuentre una confirmación en la que desea centrarse, seleccione el botón Abrir en nueva pestaña para abrir la confirmación en otra pestaña.

Screenshot of how to open a commit on a new tab.

Screenshot of the tab for commit details.

Sugerencia

Para mostrar la confirmación en pantalla completa, desasocie la pestaña Confirmar y maximice la ventana Confirmar mediante el botón Maximizar. También puede seleccionar su configuración de diferencias favorita seleccionando Configuración de diferencias (el icono de engranaje).

Screenshot of full-screen commit details with diff configurations.

Vista de gráficos de varias ramas

Novedad con la versión 17.7: al abrir la ventana Repositorio de Git, se inicia en la vista de rama única. A continuación, puede seleccionar cualquier rama para agregar la rama y sus confirmaciones a una vista de grafo de varias ramas, que agrega indicaciones visuales que hacen que sea más eficaz interactuar con varias ramas.

Screenshot of the multi-graph branch view in Visual Studio.

Hay etiquetas de color de línea y de rama en el lado izquierdo de la vistaHistorial local que ayudan a facilitar el seguimiento de las confirmaciones que pertenecen a cada rama. Puede usar la lista de ramas en la parte superior de la tabla para desplazarse entre ramas más fácilmente y saber inmediatamente qué ramas aparecen en el gráfico.

Comparar confirmaciones

Para comparar las dos confirmaciones de la rama, use la tecla Ctrl para seleccionar las dos confirmaciones que desea comparar. A continuación, haga clic con el botón derecho en uno de ellos y seleccione Comparar confirmaciones.

Screenshot of how to compare two commits.

Screenshot of compared commits.

Sugerencia

De forma similar a Detalles de confirmación, puede usar el botón Abrir en nueva pestaña para abrir la comparación en otra pestaña o maximizarla en la pantalla.

Creación de una rama a partir de una confirmación

En Visual Studio, puede usar el panel Git Graph en la ventana Repositorio de Git para crear ramas a partir de confirmaciones anteriores. Para ello, haga clic con el botón derecho en la confirmación desde la que desea crear una rama y, a continuación, seleccione Nueva rama.

Screenshot of the Git Graph pane of the Git Repository window.

Nota:

El comando equivalente para esta acción es git branch <branchname> [<commit-id>].

Comparar ramas

La comparación de ramas proporciona información general sobre las diferencias entre dos ramas, lo que puede resultar útil antes de crear una solicitud de incorporación de cambios, combinar o incluso eliminar una rama.

Diagram that illustrates how Git compares branches.

Para comparar la rama desprotegida actualmente con otras ramas mediante Visual Studio, puede usar el selector de ramas hospedado en la barra de estado y la ventana de herramientas de cambios de Git para elegir cualquier rama local o remota con la que comparar. Haga clic con el botón derecho en la rama que tiene como destino y seleccione Comparar con la rama actual. Como alternativa, puede usar la lista de ramas en la ventana Repositorio de Git para acceder al mismo comando.

Animation that shows the branches comparison entry points.

Al seleccionar Comparar con la rama actual, se abre la experiencia de comparación de ramas, donde puede navegar por la lista Cambios y seleccionar el archivo que desea comparar.

Screenshot that shows how to compare branches by using the diff view.

Sugerencia

Si prefiere una diferencia insertada, puede usar el engranaje de las opciones de configuración de diferencias y cambiar a una vista de diferencias insertada. Screenshot that shows the Diff Configuration Options that're available to you.

Confirmaciones de restauración

La restauración de una confirmación puede ser beneficiosa de varias maneras. Por ejemplo, le permite volver a un punto anterior en el historial del repositorio, donde puede ejecutar o probar el código. También puede resultar útil si desea revisar el código desde una rama remota (por ejemplo, una rama de un compañero). De este modo, no es necesario crear una rama local si no tiene previsto contribuir a ella. En este caso, solo puede consultar la sugerencia de la rama remota que le gustaría revisar.

Diagram that illustrates the Git checkout commit process.

Para restaurar una confirmación anterior en Visual Studio, abra la ventana Repositorio de Git, haga clic con el botón derecho en la confirmación a la que desea volver y seleccione Restaurar (–desasociar). Visual Studio muestra un cuadro de diálogo de confirmación que explica que al restaurar una confirmación estará en un estado HEAD desasociado. Lo que significa que HEAD del repositorio va a apuntar directamente a una confirmación en lugar de a una rama.

Animation that shows the checkout commit entry points.

Ahora que está en un estado principal desasociado, no dude en ejecutar y probar el código, o incluso explorar y confirmar los cambios. Cuando haya terminado de explorar y desea volver a la rama, puede optar por descartar los cambios comprobando una rama existente o seleccionando mantener los cambios creando primero una nueva rama.

Importante

Las confirmaciones creadas en un estado principal desasociado no están asociadas a ninguna rama y Git puede recopilar elementos no utilizados después de restaurar una rama. Por este motivo, se recomienda crear una rama antes de restaurar una rama. Por ejemplo, las confirmaciones C5 y C6 se recopilarán como elementos no utilizados si restauramos Main sin crear una nueva rama. Diagram that illustrates the detached head commits in Git.

Para obtener más información sobre el estado de HEAD desasociado, consulte la documentación de Head desasociado de Git.

Restaurar la sugerencia de una rama remota puede resultar útil si desea revisar rápidamente una solicitud de incorporación de cambios y evaluar las actualizaciones más recientes. Para ello en Visual Studio, primero asegúrese de capturar y obtener las actualizaciones más recientes del repositorio remoto. A continuación, haga clic con el botón derecho en la rama remota que desea revisar y seleccione Confirmar sugerencia de restauración.

Screenshot that shows the Checkout Tip Commit option.