Git

Git

Tutorial Git: Git con Visual Studio Code

Git Visual Studio Code: integración. Aprende a integrar y usar Git en Visual Studio Code con ejemplos prácticos y detallados.

Aprende Git y certifícate

Integración nativa de Git en VS Code: Panel de control de cambios

Visual Studio Code tiene una integración nativa con Git. El panel de control de cambios permite gestionar las operaciones de Git sin usar la línea de comandos.

Para acceder al panel, se debe hacer clic en el icono de Control de código fuente en la barra lateral izquierda (representado por un símbolo de rama). Alternativamente, se puede usar el atajo de teclado Ctrl+Shift+G en Windows y Linux, o Cmd+Shift+G en macOS. Una vez abierto, se ven los archivos modificados y las acciones disponibles.

Los cambios realizados en el proyecto aparecen listados en la sección "Cambios". Al seleccionar un archivo del listado, se muestra una comparación (diff) entre la versión actual y la última confirmada. Así se se pueden revisar las diferencias antes de proceder a confirmar los cambios.

Para preparar (staging) cambios específicos, se puede hacer clic en el icono de más (+) que aparece al pasar el cursor sobre un archivo o utilizar las opciones contextuales con el botón derecho. Los archivos preparados se moverán a la sección "Cambios preparados", indicando que están listos para ser confirmados.

Una vez preparados los cambios, se procede a confirmar (commit) ingresando un mensaje descriptivo en el campo de texto situado en la parte superior del panel y haciendo clic en el icono de check (✔).

El panel también ayuda con la sincronización con repositorios remotos. Al hacer clic en el icono de sincronizar cambios (doble flecha circular) en la barra de estado inferior, se ejecutan las operaciones de pull y push necesarias. Si existen actualizaciones en el remoto, se descargan y se integran en el repositorio local.

Para manejar conflictos de fusión, el panel muestra indicadores visuales en los archivos afectados. Se muestra una interfaz interactiva para elegir entre los cambios entrantes y los propios, o para combinar ambas versiones.

El cambio de ramas se gestiona desde el panel. Al hacer clic en el nombre de la rama actual en la barra de estado inferior, se despliega un menú que permite cambiar de rama, crear una nueva o eliminar ramas.

Además, también se pueden ejecutar comandos adicionales de Git a través de la paleta de comandos. Pulsando F1 o Ctrl+Shift+P, se pueden buscar y ejecutar acciones como revertir cambios, deshacer commits o ver el historial del repositorio.

Extensiones recomendadas: GitLens, GitHub Pull Requests, etc.

Aunque Visual Studio Code ya incluye funcionalidades básicas de Git, existen extensiones que mejoran estas capacidades.

GitLens es una de las extensiones más populares de Git en VS Code. Ofrece información detallada sobre la historia del código y la procedencia de los cambios. Con GitLens, se puede visualizar quién modificó cada línea de código, cuándo y por qué.

Características destacadas de GitLens:

  • Anotaciones en línea: Se muestran comentarios sobre los autores y las fechas de los commits directamente en el editor.
  • Exploración del historial: Permite navegar por el historial de commits, ramas y archivos de manera intuitiva.
  • Comparación de código: Facilita la comparación entre ramas, commits y versiones anteriores de un archivo.
  • Personalización: Ofrece amplias opciones para ajustar la interfaz y las funcionalidades según las preferencias del usuario.

Otra extensión esencial es GitHub Pull Requests, desarrollada por GitHub y Microsoft. Esta extensión integra las pull requests y los issues de GitHub directamente en el editor.

Ventajas de GitHub Pull Requests:

  • Gestión de pull requests: Se pueden revisar, comentar y fusionar pull requests desde el propio editor.
  • Interacción con issues: Facilita la creación, visualización y actualización de issues, manteniendo un seguimiento de las tareas pendientes.
  • Revisiones de código: Ofrece herramientas para realizar revisiones detalladas, incluyendo comentarios en línea y sugerencias de cambios.
  • Integración fluida: Se sincroniza automáticamente con GitHub, reflejando los cambios en tiempo real.

Para quienes buscan una visualización más gráfica del historial, Git Graph es una extensión que proporciona un grafo interactivo de los commits y ramas. 

Con Git Graph, se puede:

  • Visualizar el historial: Se representa de forma gráfica la secuencia de commits y la estructura de las ramas.
  • Realizar acciones de Git: Desde la interfaz gráfica, se pueden hacer checkouts, crear nuevas ramas o revertir commits.
  • Personalización: Permite ajustar la apariencia y las opciones de visualización según las necesidades.

Git History es otra extensión que complementa las funcionalidades anteriores.

Proporciona una vista detallada del historial de commits, permitiendo:

  • Explorar commits: Se muestra una lista de commits con detalles como autor, fecha y mensaje.
  • Differences (diffs): Se pueden visualizar los cambios entre diferentes commits o ramas específicas.
  • Búsqueda avanzada: Facilita la localización de commits mediante filtros por autor, mensaje o rango de fechas.

La instalación de estas extensiones se hace desde la Marketplace de VS Code. Solo es necesario acceder a la pestaña de Extensiones, buscar el nombre de la extensión deseada y hacer clic en Instalar. Una vez instaladas, se pueden configurar sus opciones desde el menú de Configuración del editor.

Gestión de ramas y merges desde la interfaz

Para crear una nueva rama, se puede hacer clic en el nombre de la rama actual que aparece en la barra de estado en la parte inferior izquierda de la ventana de VS Code. Al pulsar sobre el nombre de la rama, se despliega un menú con opciones. Seleccionando "Crear nueva rama...", se introduce el nombre de la nueva rama. Una vez creada, se cambia automáticamente a esta nueva rama, facilitando la creación de ramas de forma rápida y sin interrupciones.

Para cambiar entre ramas, se sigue el mismo procedimiento. Al hacer clic en el nombre de la rama actual, se muestra una lista de todas las ramas disponibles en el repositorio. Al seleccionar una rama diferente, VS Code cambia el contexto del proyecto a esa rama, actualizando los archivos y el historial correspondiente.

La visualización de las ramas y el seguimiento del desarrollo se pueden mejorar con la ayuda de extensiones como Git Graph, que proporciona una representación gráfica del historial y las ramas.

Para realizar un merge entre ramas desde VS Code, es necesario estar en la rama de destino, es decir, en la rama donde se quieren incorporar los cambios. Una vez en la rama apropiada, se accede nuevamente al menú de ramas haciendo clic en el nombre de la rama actual en la barra de estado. En el menú, se selecciona la opción "Fusionar rama...". Si no hay conflictos, los cambios se aplican automáticamente.

A veces, al realizar un merge, pueden surgir conflictos si los mismos archivos han sido modificados en ambas ramas. Cuando se detecta un conflicto, los archivos afectados se marcan con un ícono de advertencia en el explorador de archivos y en el panel de control de cambios. Al abrir un archivo en conflicto, VS Code muestra las diferencias entre las versiones en conflicto, utilizando marcadores como <<<<<<< HEAD y >>>>>>> rama.

La interfaz ofrece botones como "Aceptar cambios entrantes", "Aceptar cambios actuales", "Aceptar ambos cambios" o "Comparar cambios". Al hacer clic en estas opciones, se puede decidir qué cambios mantener. Esto agiliza el proceso de resolución sin necesidad de editar manualmente los marcadores de conflictos.

Para eliminar una rama local que ya no es necesaria, se utiliza el mismo menú de gestión de ramas. Al seleccionar "Eliminar rama...", se muestra una lista de ramas que pueden ser eliminadas. Es importante asegurarse de que la rama no contiene cambios sin fusionar antes de proceder.

Si se quieren gestionar ramas remotas, las extensiones como GitLens o GitHub Pull Requests amplían las capacidades de VS Code, pudiendo interactuar con ramas en repositorios remotos, crear ramas desde remotos o eliminar ramas remotas directamente desde la interfaz.

VS Code también permite crear una rama nueva a partir de un commit específico del historial. Para lograr esto, se navega al panel de control de código fuente, se localiza el commit deseado en el historial (posiblemente utilizando las opciones de Git Graph si se dispone de esta extensión), y se selecciona la opción "Crear rama desde commit". Al proporcionar un nombre para la nueva rama, se crea y se posiciona en ella, basándose en el estado del repositorio en ese punto del historial.

VS Code proporciona soporte para realizar un rebase interactivo. Mediante la paleta de comandos (accesible con Ctrl+Shift+P o Cmd+Shift+P), se puede buscar el comando "Git: Rebase Branch...". Esto permite reescribir el historial de commits para crear una secuencia lineal de cambios.

La paleta de comandos sirve para ejecutar comandos de Git sin salir del editor. Al activar la paleta y escribir "Git:", se despliegan múltiples comandos disponibles, como "Git: Crear rama", "Git: Eliminar rama", "Git: Fusionar rama", entre otros.

Al trabajar con repositorios alojados en plataformas como GitHub, las extensiones mencionadas previamente permiten realizar operaciones adicionales. Por ejemplo, con GitHub Pull Requests, se pueden crear pull requests directamente desde VS Code. La gestión de ramas remotas se integra de manera transparente, permitiendo realizar push y pull de ramas específicas.

Es recomendable mantener las ramas organizadas y eliminar aquellas que ya no son necesarias. Además, antes de realizar un merge, es útil actualizar la rama local con los últimos cambios del remoto para minimizar conflictos.

Flujo de trabajo completo: Añadir, confirmar, hacer push y pull requests

El flujo de trabajo completo con Git en Visual Studio Code abarca desde realizar cambios en el código hasta integrar dichos cambios en el repositorio remoto mediante pull requests. A continuación, se describen los pasos clave para llevar a cabo este proceso.

Después de modificar el código fuente, se deben añadir los archivos cambiados al área de preparación (staging area). En el panel de control de código fuente, los archivos modificados aparecen listados bajo la sección "Cambios". Para prepararlos, se puede hacer clic en el icono de más (+) junto a cada archivo o seleccionar "Preparar todos los cambios" si se desean incluir todos.

Una vez preparados, es momento de confirmar (commit) los cambios. Se introduce un mensaje descriptivo en el campo destinado a ello, resumen que debe reflejar claramente el propósito de las modificaciones. Este mensaje es crucial para mantener un historial de commits comprensible. Tras redactarlo, se confirma haciendo clic en el icono de check (✔) o presionando Ctrl+Enter.

Con los cambios confirmados en el repositorio local, se procede a hacer push para enviarlos al repositorio remoto. Visual Studio Code muestra en la barra de estado inferior un icono de sincronización que indica si hay commits pendientes de enviar. Al hacer clic en este icono o seleccionar la opción "Sincronizar cambios", se ejecuta el push de los commits al remoto configurado. Es importante asegurarse de que se está en la rama correcta antes de realizar esta acción.

Cuando se trabaja en ramas destinadas a nuevas funcionalidades o correcciones, es normal crear una pull request para integrar esos cambios en la rama principal. Con la extensión GitHub Pull Requests, se puede gestionar este proceso directamente desde VS Code. En la vista de Pull Requests de la extensión, se selecciona "Create Pull Request", donde se eligen la rama de origen y la rama de destino, generalmente main o develop.

Al crear la pull request, se debe proporcionar un título y una descripción detallada de los cambios realizados. Se recomienda mencionar cualquier issue relacionado o incluir comentarios que ayuden a los revisores a entender el contexto. Una vez enviada, la pull request estará disponible en GitHub para su revisión por parte del equipo.

Los revisores pueden examinar la pull request, añadir comentarios y solicitar cambios si es necesario. Gracias a la integración con VS Code, se pueden ver las respuestas y actualizar la pull request directamente desde el editor. Si se realizan modificaciones adicionales, se confirman y se hacen push nuevamente; los nuevos commits se añadirán automáticamente a la pull request abierta.

Una vez que la pull request ha sido aprobada, se puede fusionar con la rama principal. Este paso puede hacerse desde GitHub o, si se dispone de los permisos adecuados, desde la propia extensión en Visual Studio Code. Tras la fusión, es una buena práctica eliminar la rama que ya no se necesita para mantener el repositorio limpio y organizado.

Para mantener el repositorio local sincronizado con los cambios realizados por otros colaboradores, se debe realizar periódicamente un pull. Esto se consigue haciendo clic en el icono de sincronización o ejecutando el comando "Git: Pull" desde la paleta de comandos. Así, se asegura que se trabaja con la versión más actualizada del código, lo que minimiza posibles conflictos.

En caso de que surjan conflictos al hacer pull o durante el merge, se pueden resolver directamente en Visual Studio Code. Los archivos en conflicto se muestran en el panel de control de código fuente y, al abrirlos, se presentan opciones interactivas para elegir entre los cambios entrantes, los cambios actuales o combinar ambos.

CONSTRUYE TU CARRERA EN IA Y PROGRAMACIÓN SOFTWARE

Accede a +1000 lecciones y cursos con certificado. Mejora tu portfolio con certificados de superación para tu CV.

30 % DE DESCUENTO

Plan mensual

19.00 /mes

13.30 € /mes

Precio normal mensual: 19 €
63 % DE DESCUENTO

Plan anual

10.00 /mes

7.00 € /mes

Ahorras 144 € al año
Precio normal anual: 120 €
Aprende Git online

Ejercicios de esta lección Git con Visual Studio Code

Evalúa tus conocimientos de esta lección Git con Visual Studio Code con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.

Todas las lecciones de Git

Accede a todas las lecciones de Git y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

Accede GRATIS a Git y certifícate

Certificados de superación de Git

Supera todos los ejercicios de programación del curso de Git y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.

En esta lección

Objetivos de aprendizaje de esta lección

  1. Aprender a utilizar Git en Visual Studio Code.
  2. Comprender cómo inicializar un repositorio Git en Visual Studio Code.
  3. Aprender a gestionar ramas en Git utilizando Visual Studio Code.
  4. Entender cómo sincronizar cambios entre repositorios locales y remotos.