Trabajar con Git en Visual Studio para Mac

Importante

Visual Studio para Mac está programado para su retirada el 31 de agosto de 31, 2024 de acuerdo con la directiva de ciclo de vida moderno de Microsoft. Aunque puede seguir trabajando con Visual Studio para Mac, hay otras opciones para desarrolladores en Mac, como la versión preliminar de la nueva extensión del Kit de desarrollo de C# para VS Code.

Obtenga más información sobre las escalas de tiempo de soporte técnico y las alternativas.

Git es un sistema de control de versiones distribuido que permite a los equipos trabajar en los mismos documentos de forma simultánea. Esto significa que hay un servidor central que contiene todos los archivos, pero que cada vez que se extrae un repositorio de este origen central, la totalidad del repositorio se clona en el equipo local.

En las siguientes secciones se analiza cómo usar Git para el control de versiones en Visual Studio para Mac.

Menú Control de versiones de Git

En la imagen siguiente se ven las opciones proporcionadas por el menú de Git de Visual Studio para Mac:

Screenshot of the Git menu in Visual Studio for Mac, showing options for Clone Repository, Pull, Commit or Stash, Push, Switch to branch, Merge, Rebase, Manage branches and remotes, Stash, pop stash, manage stashes, and branch history.

Confirmar Git en Visual Studio para Mac

El elemento principal de cualquier flujo de trabajo de Git es la modificación de archivos y la confirmación de los cambios en esos archivos. Aunque este artículo hace referencia a repositorios de GitHub, 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.

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 para Mac realiza un seguimiento de los cambios de archivo en el proyecto en la sección Cambios de la ventana Cambios de Git.

Screenshot of the Git Changes window in Visual Studio for Mac, with a launchSettings.json file displayed in the list of Staged files.

Cuando tenga todo listo para almacenar provisionalmente los cambios, seleccione cada archivo que quiera almacenar provisionalmente y haga clic en el botón Almacenar provisionalmente, o bien haga clic con el botón derecho en un archivo y seleccioneAlmacenar provisionalmente.

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".

Screenshot of the Git changes dialog, with a launchSettings.json file in the list of Changes, and a SubscriptionService.cs file in the list of staged changes. The current branch name is shown at the top of the window, along with Push, Pull, and Commit Staged buttons.

También se puede cancelar el almacenamiento provisional de los cambios al seleccionar todos los cambios "staged" y hacer clic en el botón Cancelar almacenamiento provisional. 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 accesos directos Confirmar todo e insertar y Confirmar todo y sincronizar en el botón "...". 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.

A screenshot of the comparison view, showing line-by-line differences in changed files.

Cambios de inserción y extracción

El envío y la incorporación de cambios son dos de las acciones usadas con más frecuencia en Git. Para sincronizar cambios realizados por otros usuarios en el repositorio remoto, debe incorporar los cambios desde allí. Esto se hace en Visual Studio para Mac al seleccionar el menú Extraer > Git.

Una vez actualizados, revisados y confirmados los archivos, debe enviarlos al repositorio remoto para permitir a otros usuarios acceder a los cambios. Esto se hace en Visual Studio para Mac al seleccionar el menú Insertar > Git.

También puede confirmar y enviar los cambios al mismo tiempo mediante la ventana Cambios de Git:

Screenshot of the git Changes window open, showing a ... menu open with a Commit Staged and Push item highlighted.

Uso de las vistas Culpar, Registrar y Combinar

En la parte superior de la ventana del editor, hay una lista desplegable con opciones de control de versiones, como se muestra a continuación:

Screenshot of a drop down menu with choices for Source, Changes, Blame, and History.

Estas permiten las acciones siguientes:

  • Origen: muestra el archivo de código fuente.
  • Cambios: muestra el cambio en el código entre el archivo local y el archivo base. También puede comparar diferentes versiones del archivo a partir de hash distintos:
  • Culpar: muestra el nombre de usuario del usuario asociado a cada sección de código.
  • Registro: muestra todas las confirmaciones, las horas, las fechas, los mensajes y los usuarios que son responsables del archivo:
  • Combinar: se puede usar si existe un conflicto de combinación al confirmar el trabajo. Muestra una representación visual de los cambios realizados por el usuario y el otro desarrollador, lo que permite combinar ambas secciones de código sin problemas.

Cambio de ramas

De forma predeterminada, la primera rama creada en un repositorio se conoce como rama principal. Técnicamente no hay diferencias entre la rama principal y las demás, aunque la principal es la que en los equipos de desarrollo se suele considerar como la rama "activa" o de "producción".

Se puede crear una línea independiente de desarrollo al ramificar la rama principal (o cualquier otra rama, de hecho). Esto proporciona una nueva versión de la rama principal en un momento dado, lo que permite el desarrollo independientemente de lo que está "activo". El empleo de ramas de este modo se suele usar para características de desarrollo de software

Los usuarios pueden crear tantas ramas como quieran de cada repositorio, pero se recomienda que una vez que hayan terminado de usar una, se elimine para mantener el repositorio organizado.

Puede ver las ramas en Visual Studio para Mac si va a Git> Administrar ramas y repositorios remotos...:

A screenshot of the Manage Branches and Remotes view, with a location branch selected.

Para cambiar a otra rama, selecciónela en la lista y presione el botón Cambiar a rama.

Para crear una nueva rama, seleccione el botón Nuevo en el cuadro de diálogo de configuración del repositorio de Git. Escriba el nuevo nombre de rama:

A screenshot of the create new branch dialog, showing a blank name field and a message listing out allowed characters for the branch name.

También puede establecer una rama remota a la rama de seguimiento. Vea más información sobre ramas de seguimiento en la documentación de Git.

Vea la rama actual en la ventana de la solución, junto al nombre del proyecto:

A screenshot of the solution window showing a solution named NetPodcast.Services with a branch name of main in parentheses.

Consulte también