Trabajo con GitWorking with Git

Git es un sistema de control de versiones distribuido que permite a los equipos trabajar en los mismos documentos de forma simultánea.Git is a distributed version control system that allows teams to work on the same documents simultaneously. 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.This means that there is a central server that contains all the files, but when a repository is checked out from this central source, the entire repository is cloned to the local machine.

En las siguientes secciones se analiza cómo usar Git para el control de versiones en Visual Studio para Mac.The sections below will explore how Git can be used for version control in Visual Studio for Mac.

Menú Control de versiones de GitGit version control menu

En la imagen siguiente se ven las opciones proporcionadas en el elemento de menú Control de versiones de Visual Studio para Mac:The image below illustrates the options provided by Visual Studio for Mac by the Version Control menu item:

Elemento de menú Control de versiones

Envío e incorporación de cambiosPush and Pull

El envío y la incorporación de cambios son dos de las acciones usadas con más frecuencia en Git.Pushing and Pulling are two of the most commonly used actions within Git. Para sincronizar cambios realizados por otros usuarios en el repositorio remoto, debe incorporar los cambios desde allí.To synchronize changes that other people have made to the remote repository, you must Pull from there. Esto se hace en Visual Studio para Mac al seleccionar Control de versiones > Actualizar solución.This is done in Visual Studio for Mac by selecting Version Control > Update Solution.

Una vez actualizados, revisados y confirmados los archivos, debe enviarlos al repositorio remoto para permitir a otros usuarios acceder a los cambios.Once you have updated your files, reviewed and committed them, you must then Push them to the remote repository to allow others to access your changes. Esto se hace en Visual Studio para Mac al seleccionar Control de versiones > Insertar cambios.This is done in Visual Studio for Mac by selecting Version Control > Push Changes. Con esto se abre el cuadro de diálogo Insertar, que permite ver los cambios confirmados, y se selecciona la rama en la que insertar:This will display the Push dialog, allowing you to view the committed changes, and select the branch to push to:

Cuadro de diálogo que muestra la rama en la que confirmar

También puede confirmar y enviar los cambios al mismo tiempo, mediante el cuadro de diálogo Confirmar:You can also Commit and Push your changes at the same time, via the Commit dialog:

Opción que muestra cómo confirmar y enviar al mismo tiempo.

Culpar, Registro y CombinarBlame, Log, and Merge

En la parte inferior de la ventana hay cinco pestañas, como se muestra a continuación:At the bottom of the window, there are five tabs displayed, as illustrated below:

Pestañas de Control de versiones

Estas permiten las acciones siguientes:These allow the following actions:

  • Origen: muestra el archivo de código fuente.Source - Displays your source code file.

  • Cambios: muestra el cambio en el código entre el archivo local y el archivo base.Changes - Displays the change in code between your local file and the base file. También puede comparar diferentes versiones del archivo a partir de hash distintos:You can also compare different versions of the file from different hashes:

    Pestaña Cambios

  • Culpar: muestra el nombre de usuario del usuario asociado a cada sección de código.Blame - Displays the username of the user associated with each section of code.

  • Registro: muestra todas las confirmaciones, las horas, las fechas, los mensajes y los usuarios que son responsables del archivo:Log - Displays all the commits, times, dates, messages, and users that are responsible for the file:

    Pestaña Registro

  • Combinar: se puede usar si existe un conflicto de combinación al confirmar el trabajo.Merge - This can be used if you have a merge conflict when committing your work. 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.It shows a visual representation of the changes made by you and the other developer, allowing you to combine both sections of code cleanly.

Cambio de ramasSwitching branches

De forma predeterminada, la primera rama creada en un repositorio se conoce como rama maestra.By default, the first branch created in a repository is known as the Master branch. Técnicamente no hay diferencias entre la rama maestra y las demás, aunque la maestra es la que en los equipos de desarrollo se suele considerar como la rama "activa" o de "producción".There isn't technically anything different between the master branch and any other, but the master branch is the one that is most often thought of in development teams as the 'live' or 'production' branch.

Se puede crear una línea independiente de desarrollo al ramificar la rama maestra (o cualquier otra rama, de hecho).An independent line of development can be created by branching off Master (or any other branch, for that matter). Esto proporciona una nueva versión de la rama maestra en un momento dado, lo que permite el desarrollo independientemente de lo que está "activo".This provides a new version of the master branch at a point in time, allowing for development independently of what is 'live.' El empleo de ramas de este modo se suele usar para características de desarrollo de softwareUsing branches in this way is often used for features in software development

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.Users can create as many branches as they like for each repository, but it is recommended that once they have finished using a branch, it is deleted it to keep the repository organized.

Puede ver las ramas en Visual Studio para Mac si va a Control de versiones > Administrar ramas y orígenes remotos...:Branches are viewed in Visual Studio for Mac by browsing to Version Control > Manage Branches and Remotes...:

Vista Ramas

Para cambiar a otra rama, selecciónela en la lista y presione el botón Cambiar a rama.Switch to another branch by selecting it in the list and pressing the Switch to Branch button.

Para crear una nueva rama, seleccione el botón Nuevo en el cuadro de diálogo de configuración del repositorio de Git.To create a new branch select the New button in the Git repository configuration dialog. Escriba el nuevo nombre de rama:Enter the new branch name:

Creación de nueva rama

También puede establecer una rama remota a la rama de seguimiento.You can also set a remote branch to your tracking branch. Vea más información sobre ramas de seguimiento en la documentación de Git.Read more about tracking branches in the Git documentation.

Vea la rama actual en el Panel de solución, junto al nombre del proyecto:See the current branch in the Solution Pad, next to the project name:

Rama actual mostrada en el Panel de solución

Revisión y confirmaciónReviewing and committing

Para revisar los cambios en los archivos, use las pestañas Cambios, Culpar, Registro y Combinar de cada documento, tratadas anteriormente en este tema.To review changes in the files, use the Changes, Blame, Log, and Merge tabs on each document, illustrated earlier in this topic.

Revise todos los cambios en el proyecto al ir al elemento de menú Control de versiones > Revisar solución y confirmar:Review all changes in your project by browsing to the Version Control > Review Solution and Commit menu item:

Vista de revisión de código

Esto permite ver todos los cambios de cada archivo de un proyecto con la opción Revertir, Crear una revisión o Confirmar.This allows viewing of all the changes in each file of a project with the option to Revert, Create a Patch, or Commit.

Para confirmar un archivo en el repositorio remoto, haga clic en Confirmar..., escriba un mensaje de confirmación y confirme con el botón Confirmar:To commit a file to the remote repository, press Commit..., enter a commit message, and confirm with the Commit Button:

Confirmación de un archivo

Una vez que haya confirmado los cambios, envíelos al repositorio remoto para que otros usuarios puedan verlos.Once you have committed your changes, push them to the remote repository to allow other users to see them.