Administración de repositorios de Git en Visual Studio
La ventana Repositorio de GIT proporciona una experiencia de Git de pantalla completa que ayuda a administrar el repositorio de Git y mantenerse al día con los proyectos del equipo. Por ejemplo, es posible que tenga que restablecer, revertir o realizar una selección exclusiva de las confirmaciones, o simplemente limpiar el historial de confirmaciones. La ventana Repositorio de GIT también es un lugar excelente para visualizar y administrar las ramas.
El control de versiones con Visual Studio es sencillo con Git. Además, puede trabajar de forma remota con el proveedor de Git que prefiera, como GitHub o Azure DevOps. También puede trabajar en modo local sin ningún proveedor.
Abra la ventana del Repositorio de Git
Para abrir la ventana del 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.
Explicación de una confirmación con el chat de GitHub Copilot
Con Visual Studio 2022 versión 17.10, versión preliminar 2 y posteriores y las extensiones de GitHub Copilot, puede usar la IA para generar una descripción detallada de la confirmación que describa los cambios realizados en dicha confirmación. 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.
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, simplemente necesita actualizar el mensaje de confirmación o incluir un cambio de última hora.
Puede rectificar una confirmación en la línea de comandos mediante el comando siguiente:
git commit --amend
La ventana Repositorio de GIT facilita el proceso de actualizar el mensaje de confirmación más reciente. Haga doble clic en la última confirmación para abrir los detalles y seleccione la opción Editar que aparece junto al mensaje de confirmación.
Cuando acabe de editar el mensaje de confirmación, seleccione Amend (Rectificar).
Si necesita incluir cambios de código en la última confirmación, puede hacerlo en la ventana Git Changes (Cambios de Git). Active la casilla Amend (Rectificar) y confirme los cambios.
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 resultar útil si realiza confirmaciones frecuentes y acaba con una larga lista de confirmaciones que quiere limpiar antes de realizar una inserción en un repositorio remoto.
Puede fusionar mediante combinación con "squash" dos confirmaciones en la línea de comandos mediante el comando siguiente:
git rebase -i HEAD~2
Después, actualice pick
a squash
, guárdelo y actualice el mensaje de confirmación.
Para combinar confirmaciones en Visual Studio, use la tecla CTRL para seleccionar varias confirmaciones que quiera 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.
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 diferentes características, en algún momento tendrá que incluir actualizaciones introducidas en otras ramas. Esto puede ocurrir mientras todavía está trabajando en la rama de características. También podría suceder cuando ha acabado de trabajar en la rama de características y necesita conservar los cambios agregándolos a otra rama. En Git, puede incluir estas actualizaciones gracias a la combinación o la fusión mediante cambio de base de las ramas.
Nota
En las instrucciones siguientes se usa New_Feature como nombre de ejemplo para una rama de características. Reemplácelo por el nombre de su rama.
Para combinar la rama principal (main) con la rama de características en la línea de comandos, use los comandos siguientes:
git checkout New_Feature
git merge main
Para hacer lo mismo en Visual Studio, en la lista de ramas, haga doble clic en la rama de características para extraerla del repositorio. Después, haga clic con el botón derecho en main y seleccione Merge 'main' into 'New_Feature' (Combinar "main" con "New_Feature").
Para fusionar mediante cambio de base la rama principal (main) con la rama de características en la línea de comandos, use los comandos siguientes:
git checkout New_Feature
git rebase main
Para hacer lo mismo en Visual Studio, en la lista de ramas, haga doble clic en la rama de características para extraerla del repositorio. 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").
Para obtener más información sobre la combinación, la fusión mediante cambio de base y la creación de ramas en general, consulte Creación de ramas en Git 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 exclusiva es una manera excelente 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 comando siguiente:
git cherry-pick 7599e530
Para hacer lo mismo en Visual Studio, seleccione con un solo clic la rama en la que quiere realizar una selección exclusiva de una confirmación para obtener una vista previa. Después, haga clic con el botón derecho en la confirmación que le interesa y elija Selección exclusiva.
Cuando se complete la operación, verá en Visual Studio un mensaje que indica que la operación es 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 confirmación que deshace los cambios realizados en una confirmación anterior. El comando "revert" no reescribe el historial del repositorio, lo que hace que sea seguro usarlo al trabajar con otras personas.
Para revertir los cambios realizados en una confirmación mediante la línea de comandos, use los comandos siguientes. 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 desharán los cambios realizados en la confirmación 53333305 y crearán una 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 la confirmación que quiere 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.
Seleccione la nueva confirmación para confirmar que deshace los cambios de la confirmación revertida.
Para obtener más información sobre cómo revertir los cambios, consulte la página web de Git sobre el comando "revert".
Restablecimiento de una rama a un estado anterior
Use el comando "reset" para devolver una rama del repositorio local al contenido de una confirmación 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 comando siguiente. 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 le indica a Git que restablezca los archivos al estado de la confirmación anterior y que descarte los cambios "staged". 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).
Para obtener más información sobre el restablecimiento de ramas, consulte la página web de Git sobre el comando "reset".