Compartir vía


Administración de repositorios de Git en Visual Studio

La ventana del repositorio de Git proporciona una experiencia completa de Git en pantalla completa que le ayuda a administrar su repositorio de Git y a mantenerse al día con los proyectos de su equipo. Por ejemplo, puede que necesite reconfigurar, revertir o escoger confirmaciones, o simplemente limpiar el historial de confirmaciones. La ventana de repositorio de Git también es un excelente lugar para visualizar y administrar las ramas.

El control de versiones con Visual Studio es fácil con Git. Además, puede trabajar de forma remota con el proveedor de Git que prefiera, como GitHub o Azure DevOps. O bien, puede trabajar localmente sin ningún proveedor.

Abra la ventana Repositorio de Git.

Para abrir la ventana Repositorio de Git, elija Ver>Repositorio de Git (o presione Ctrl+0, Ctrl+R), o presione Ctrl+Q y, en Características, busque Repositorio de Git.

Explicar una confirmación con el chat de GitHub Copilot

Con Visual Studio 2022 versión 17.10, vista previa 2 y posteriores, y las extensiones de GitHub Copilot, puede usar inteligencia artificial para generar una descripción detallada del commit que describa los cambios en ese commit. Presione el botón Explicar para solicitar que GitHub Copilot cree una descripción de confirmación. Para instalar GitHub Copilot, consulte Instalación y administración de GitHub Copilot en Visual Studio.

Captura de pantalla del botón explicar para pedir que GitHub Copilot cree una explicación del commit.

Cambio en la última confirmación (rectificación)

En Git, un caso de uso habitual consiste en actualizar la última confirmación, lo que se conoce como rectificar. A veces solo tiene que actualizar el mensaje de confirmación, o es posible que tenga que incluir un cambio de última hora.

Puede modificar una confirmación en la línea de comandos mediante el siguiente comando:

git commit --amend

La ventana Repositorio de GIT facilita el proceso de actualizar el mensaje de confirmación más reciente. Abra los detalles de confirmación de la última confirmación haciendo doble clic en él y, a continuación, seleccione la opción Editar junto al mensaje de confirmación.

Captura de pantalla de edición de un mensaje de confirmación.

Cuando termine de editar el mensaje de confirmación, seleccione Modificar.

Captura de pantalla de guardar un mensaje editado seleccionando Modificar.

Si necesitas incluir cambios de código en tu última confirmación, puedes hacerlo en la ventana Cambios de Git . Active la casilla Modificar y, a continuación, confirme los cambios.

Captura de pantalla de la modificación de los cambios de código mediante la ventana Cambios de Git.

Para obtener más información sobre la modificación, incluido cómo cambiar los mensajes de confirmación distintos de los más recientes, consulte Herramientas de Git: reescritura del historial en el sitio web de Git.

Confirmaciones de combinación (fusión mediante combinación con "squash")

Para combinar una serie de confirmaciones, Git proporciona una opción para fusionar mediante combinación con "squash" en una sola confirmación. Esta opción puede ser útil si realiza confirmaciones frecuentes y termina con una larga lista de confirmaciones que desea limpiar antes de insertar en un repositorio remoto.

Puede aplastar dos confirmaciones en la línea de comandos mediante el siguiente comando:

git rebase -i HEAD~2

A continuación, actualice pick a squash, guarde y actualice el mensaje de confirmación.

Captura de pantalla de la actualización de

Para combinar confirmaciones en Visual Studio, use la tecla Ctrl ctrl para seleccionar varias confirmaciones que desea combinar. Después, haga clic con el botón derecho y seleccione Confirmaciones de squash. Visual Studio combina automáticamente los mensajes de confirmación, pero a veces es mejor proporcionar un mensaje actualizado. Después de revisar y actualizar el mensaje de confirmación, seleccione el botón Squash.

Captura de pantalla de las confirmaciones de squash en Visual Studio.

Para obtener más información sobre la fusión mediante combinación con "squash", consulte Herramientas de Git: reescritura del historial en el sitio web de Git.

Combinación y fusión mediante cambio de base de las ramas

Si usa ramas de Git para trabajar en distintas características, en algún momento deberá incluir actualizaciones introducidas en otras ramas. Esto puede ocurrir mientras estás trabajando en la rama de funcionalidades. También puede ocurrir cuando haya terminado de trabajar en la rama de características y necesite mantener los cambios agregándolos a otra rama. En Git, puede incluir estas actualizaciones mediante la fusión o el rebase de ramas.

Nota

Las instrucciones siguientes usan New_Feature como nombre de ejemplo para una rama de características. Reemplácela por el nombre de su propia rama.

Para combinar la rama principal en la rama de características en la línea de comandos, use los siguientes comandos:

git checkout New_Feature
git merge main

Para hacer lo mismo en Visual Studio, consulte la rama de características haciendo doble clic en ella en la lista de ramas. Después, haga clic con el botón derecho en main y seleccione Merge 'main' into 'New_Feature' (Combinar "main" con "New_Feature").

Captura de pantalla de la combinación de ramas en Visual Studio.

Para volver a basar la rama principal en la rama de características en la línea de comandos, use los siguientes comandos:

git checkout New_Feature
git rebase main

Para hacer lo mismo en Visual Studio, consulte la rama de características haciendo doble clic en ella en la lista de ramas. Después, haga clic con el botón derecho en main y seleccione Rebase 'New_Feature' onto 'main' (Fusionar mediante cambio de base "New_Feature" en "main").

Captura de pantalla de la fusión mediante cambio de base de ramas en Visual Studio.

Para obtener más información sobre la combinación, el rebase y el branching en general, consulte Git Branching en el sitio web de Git.

Copia de confirmaciones (selección exclusiva)

Copie confirmaciones de una rama a otra mediante la opción de selección exclusiva. A diferencia de una combinación o una fusión mediante cambio de base, la selección exclusiva solo aporta los cambios de las confirmaciones que seleccione, en lugar de todos los cambios de una rama. La selección de cerezas es una excelente manera de abordar estos problemas comunes:

  • Realizar accidentalmente una confirmación en la rama incorrecta. Lleve a cabo una selección exclusiva de los cambios en la rama correcta y, luego, restablezca la rama original a la confirmación anterior.
  • Extraer un conjunto de confirmaciones realizadas en una rama de características, para volver a combinarlas antes en la rama principal.
  • Portar confirmaciones específicas desde la rama principal sin fusionar la rama mediante cambio de base.

Para copiar los cambios de una confirmación en la rama actual mediante la línea de comandos, use el siguiente comando:

git cherry-pick 7599e530

Para hacer lo mismo en Visual Studio, previsualice la rama de la que desea extraer una confirmación haciendo clic una sola vez sobre ella. A continuación, haga clic con el botón derecho en el commit dirigido y seleccione Cherry-Pick.

Captura de pantalla de selección de cerezas en Visual Studio.

Una vez completada la operación, Visual Studio muestra un mensaje de operación correcta. La confirmación de la que haya realizado una selección exclusiva aparecerá en la sección Saliente.

Para obtener más información sobre la selección exclusiva de confirmaciones, consulte la página web de Git sobre el comando de selección exclusiva.

Reversión de cambios

Use el comando "revert" para deshacer los cambios que se hayan realizado en confirmaciones insertadas en ramas compartidas. El comando revert crea una nueva confirmación que deshace los cambios realizados en una confirmación anterior. El comando revert no vuelve a escribir el historial del repositorio, lo que hace que sea seguro usarlo cuando se trabaja con otros usuarios.

Para revertir los cambios realizados en una confirmación mediante la línea de comandos, use los siguientes comandos. Reemplace el identificador de ejemplo por el identificador de una confirmación real en la rama.

git revert 53333305
git commit

En el ejemplo anterior, los comandos deshacerán los cambios realizados en la confirmación 53333305 y crearán una nueva confirmación en la rama. La confirmación original todavía está en el historial de Git. Para hacer lo mismo en Visual Studio, haga clic con el botón derecho en el commit que desea revertir y seleccione Revertir. Una vez que haya confirmado la acción y que la operación se haya completado, verá en Visual Studio un mensaje que indica que la operación es correcta y aparecerá una nueva confirmación en la sección Saliente.

Captura de pantalla de la reversión en Visual Studio.

Seleccione la nueva confirmación para confirmar que deshace los cambios de la confirmación revertida.

Captura de pantalla de confirmación de una operación de reversión.

El elemento de menú Revertir puede aparecer atenuado (deshabilitado) en determinadas circunstancias, como en el caso de confirmaciones de combinación o cuando se ejecuta una operación de Git.

Para obtener más información sobre cómo revertir los cambios, consulte la página web de Git sobre el comando "revert".

Restablecer una rama a un estado anterior

Usa el comando "reset" para devolver una rama de tu repositorio local al contenido de un commit anterior. Esta acción descarta todos los cambios que se han producido desde la confirmación en la que está restableciendo la rama.

Advertencia

No restablezca las ramas compartidas, ya que podría eliminar el trabajo de otras personas. Use el comando revert en su lugar.

Para restablecer una rama a un estado anterior mediante la línea de comandos, use el siguiente comando. Reemplace el identificador de ejemplo por el identificador de una confirmación real en la rama.

git reset --hard 53333305

La parte --hard del comando indica a Git que restablezca los archivos al estado de la confirmación anterior y descarte los cambios almacenados provisionalmente. Para hacer lo mismo en Visual Studio, haga clic con el botón derecho en la confirmación en la que quiere restablecer la rama y seleccione Restablecer>Eliminar cambios (--hard).

Captura de pantalla que muestra el restablecimiento de una rama en Visual Studio.

Para obtener más información sobre el restablecimiento de ramas, consulte la página web de Git sobre el comando "reset".