Almacenamiento del trabajo con confirmaciones

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Git no toma automáticamente instantáneas del trabajo mientras modifica archivos en el repositorio. Debe indicar a Git qué cambios de archivo quiere capturar en una instantánea mediante el almacenamiento provisional de cambios específicos. Después del almacenamiento provisional, realice una confirmación para guardar la instantánea.

En este artículo se proporcionan procedimientos para las tareas siguientes:

  • Seguimiento de los cambios en Git
  • Qué hay en una confirmación
  • Procedimiento para almacenar provisionalmente los cambios
  • Procedimiento para crear una confirmación
  • Procedimiento para actualizar la última confirmación

Para obtener información general sobre el flujo de trabajo de Git, vea Tutorial de Git de Azure Repos.

Seguimiento de los cambios en Git

A medida que trabaja en el repositorio, Git realiza el seguimiento de los cambios en todos los archivos de los que se ha realizado el seguimiento. Los archivos de los que se ha realizado el seguimiento son archivos almacenados provisionalmente o que se incluyen en la confirmación anterior. Git separa los archivos de los que se ha realizado el seguimiento en tres categorías:

  • Archivos sin modificar: los archivos que no han cambiado desde la última confirmación.
  • Archivos modificados: los archivos que han cambiado desde la última confirmación, pero que no se han almacenado provisionalmente para la siguiente.
  • Archivos almacenados provisionalmente: los archivos que han cambiado desde la última confirmación y que se han almacenado provisionalmente para la siguiente.

Captura de pantalla en la que se muestra el ciclo de vida de los archivos en el repositorio entre los tres estados.

Cuando se crea una confirmación, para la instantánea solo se usan archivos almacenados provisionalmente y archivos sin modificar. Los cambios sin almacenar provisionalmente en los archivos modificados se conservan, pero la instantánea contiene la versión sin modificar de esos archivos. Git no realiza el seguimiento de los cambios en los nuevos archivos ni incluye nuevos archivos en la instantánea hasta que los almacene provisionalmente.

Las confirmaciones se crean en el repositorio de Git local. Cada confirmación no tiene que ser perfecta y es posible que se necesiten varias confirmaciones para lograr un cambio previsto. Cree confirmaciones mientras trabaja y, cuando haya terminado, puede insertarlas en un repositorio remoto para compartir el trabajo con otros usuarios.

Qué hay en una confirmación

Cada confirmación incluye la información siguiente:

  • Una instantánea de todos los archivos de los que se ha realizado el seguimiento en el repositorio en el momento de la confirmación. Una instantánea no es la diferencia entre confirmaciones, aunque Git usa instantáneas para calcular la diferencia. Las instantáneas permiten el cambio rápido entre ramas y admiten la combinación de ramas.
  • Una referencia a la confirmación principal. La mayoría de las confirmaciones tienen un elemento principal, pero la siguiente confirmación después de una combinación de ramas tiene varios elementos principales y la primera confirmación de un repositorio no tiene ninguno.
  • Un mensaje que describe los cambios en la confirmación. Debe escribir el mensaje al crear la confirmación.

Git usa la instantánea y las referencias principales de cada confirmación para mantener un registro completo del desarrollo en el repositorio. Para investigar los cambios en el código, puede revisar el historial de Git del repositorio.

Procedimiento para almacenar provisionalmente los cambios

A fin de crear una instantánea para una confirmación:

  • Almacene provisionalmente los archivos nuevos para informar a Git que quiere que se agreguen a la instantánea y que Git realice el seguimiento de los cambios en esos archivos en el futuro.
  • Almacene provisionalmente los archivos editados para que Git sepa que quiere la versión del archivo modificado en la instantánea, no la versión del archivo sin modificar.
  • Almacene provisionalmente los archivos eliminados para que Git sepa que quiere quitarlos de la instantánea y que no se realice su seguimiento.

Para excluir archivos temporales, archivos de registro u otros archivos de la instantánea, puede configurar Git para omitir archivos específicos.

Nota:

Git admite el almacenamiento provisional interactivo de archivos editados para que pueda elegir almacenar provisionalmente cambios específicos en un archivo. Se trata de una característica útil cuando se quieren modificaciones de archivo diferentes en diferentes confirmaciones.

Visual Studio 2022 proporciona una experiencia de control de versiones de Git mediante el menú Git, Cambios de Git y los menús contextuales del Explorador de soluciones. En Visual Studio 2019, versión 16.8, también se ofrece la interfaz de usuario de Git Team Explorer. Parar más información, vea la pestaña Visual Studio 2019: Team Explorer.

En la ventana Cambios de Git, haga clic con el botón derecho en un archivo de la sección Cambios y elija Agregar al "stage" para agregarlo a la sección Cambios "staged".

Captura de pantalla de la opción Cambios en la ventana

O bien, puede agregar al "stage" un archivo cambiado si selecciona el signo más situado junto al archivo. Para almacenar provisionalmente todos los archivos modificados en una carpeta, seleccione el signo más situado junto a la carpeta. Para almacenar provisionalmente todos los archivos modificados en el repositorio, seleccione el signo más de la esquina superior derecha de la sección Cambios.

Puede indicar a Git que omita un archivo si hace clic con el botón derecho en él y selecciona Omitir este elemento local u Omitir esta extensión. Cualquiera de los comandos crea un archivo .gitignore en el repositorio si no existe y le agrega una entrada. Los archivos omitidos no aparecerán en la sección Cambios de Visual Studio. Pero el archivo .gitignore no tiene ningún efecto en los archivos de seguimiento. Para obtener información sobre cómo configurar Git para omitir los archivos con seguimiento, vea Omitir archivos. Para ahorrar tiempo, puede descargar plantillas de .gitignore para varios entornos de desarrollo desde el repositorio gitignore de GitHub.

Nota:

A partir de la versión 17.3 de Visual Studio 2022, en Visual Studio se admite el almacenamiento provisional de cambios parciales en un archivo. Para más información, vea Almacenamiento provisional de líneas de código en Visual Studio.

Procedimiento para crear una confirmación

En la ventana Cambios de Git, escriba un mensaje que describa los cambios almacenados provisionalmente y, después, seleccione Confirmar elementos almacenados provisionalmente.

Captura de pantalla en la que se muestra el vínculo de información de confirmación en Visual Studio.

Seleccione el vínculo de confirmación para obtener los detalles de la confirmación.

Captura de pantalla en la que se muestra el vínculo de detalles de confirmación de la ventana

Nota:

Si todos los cambios no están almacenados provisionalmente, puede omitir el almacenamiento provisional y confirmar directamente si elige Confirmar todo.

Captura de pantalla de la opción

Procedimiento para actualizar la última confirmación

Git admite el cambio de los archivos almacenados provisionalmente o del mensaje de la última confirmación. Esta operación reemplaza la última confirmación por una nueva en la que se combinan los archivos almacenados provisionalmente de las dos confirmaciones y usa el nuevo mensaje de confirmación. La rectificación de una confirmación es útil si ha olvidado almacenar provisionalmente un archivo o el último mensaje de confirmación tiene un error tipográfico.

Advertencia

No rectifique una confirmación ya insertada porque provocará problemas de sincronización con el repositorio remoto. Para una confirmación insertada, use una de estas estrategias:

  • Cree e inserte otra confirmación que corrija los problemas causados por la confirmación anterior.
  • Deshaga la confirmación anterior que se ha insertado; para ello, use git revert para crear una confirmación que revierta todos los cambios realizados por la confirmación anterior. Después, inserte la nueva confirmación.

En la ventana Cambios de Git, como opción, almacene provisionalmente uno o varios archivos, escriba un mensaje de confirmación, seleccione Rectificar y, después, elija Confirmar elementos almacenados provisionalmente.

Captura de pantalla en la que se muestra la opción

En la ventana Cambios de Git se admite la rectificación del mensaje de confirmación, de los archivos almacenados provisionalmente o ambas cosas. Al seleccionar Rectificar, se muestra el identificador SHA de la confirmación anterior.

Pasos siguientes