Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Git usa metadatos de confirmación como vínculos primarios, detalles del autor y marcas de tiempo para realizar un seguimiento del historial de cambios en un repositorio. Puede revisar el historial de Git para averiguar cuándo cambiaron los archivos, quién los cambió y qué cambios se realizaron.
Cuando los usuarios crean y combinan ramas de características en una rama de destino mediante solicitudes de incorporación de cambios, es posible que el historial de desarrollo de la rama de destino no sea una línea cronológica recta. Por lo tanto, al revisar el historial de cambios en un archivo de la rama de destino, tenga en cuenta que el orden de las confirmaciones se ve influenciado por la estrategia de combinación y la fecha de combinación, no solo por la fecha original de los cambios. Por ejemplo, la confirmación más reciente en la rama main puede introducir un cambio que se realizó hace semanas en una rama de características que se acaba de combinar en la rama main mediante una combinación triple.
Si quiere averiguar cómo y cuándo se produjo un cambio de archivo determinado, es posible que tenga que comparar versiones diferentes del mismo archivo de confirmaciones diferentes, posiblemente en ramas diferentes.
El sitio de proyecto de grupo de Azure DevOps permite comparar dos versiones del mismo archivo de confirmaciones en la misma rama, pero no admite la comparación de versiones de archivo entre ramas.
En el explorador web, abra el proyecto de equipo de la organización de Azure DevOps. En la vista Repositorios > Archivos, seleccione un archivo y elija la pestaña Comparar.
En la pestaña Comparar, elija las dos confirmaciones que contienen las versiones de archivo que quiere comparar. La vista de diferencias muestra las líneas de archivo nuevas, eliminadas o modificadas.
Nota:
GitHub le permite comparar dos versiones del mismo archivo de confirmaciones diferentes en distintas ramas. Para comparar, anexe /compare/<commit1>..<commit2> a la dirección URL del repositorio de GitHub para ir a la página de comparación. La página de comparación contiene una vista de diferencias de cada archivo que difiere. Para obtener más información sobre la comparación de confirmaciones en GitHub, consulte Comparación de 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 obtener más información, vea la pestaña Visual Studio 2019: Team Explorer.
Visual Studio permite comparar dos versiones del mismo archivo en la misma rama, pero no admite la comparación de versiones de archivo entre ramas.
En Explorador de soluciones, seleccione un archivo y elija Git > Ver historial en el menú contextual del archivo para abrir la pestaña Historial de Git del archivo seleccionado.
En la pestaña Historial de Git, elija Comparar con anterior en el menú contextual de una confirmación para abrir una pestaña de Diferencias que compare la confirmación seleccionada con la confirmación anterior.
O bien, seleccione dos confirmaciones y elija Comparar en el menú contextual de cualquiera de las confirmaciones para abrir una pestaña de Diferencias que compare las dos confirmaciones seleccionadas.
La pestaña Diferencias muestra líneas de archivo nuevas, eliminadas o modificadas.
Visual Studio 2019 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.
Visual Studio permite comparar dos versiones del mismo archivo en la misma rama, pero no admite la comparación de versiones de archivo entre ramas.
En Explorador de soluciones, seleccione un archivo y elija Git > Ver historial en el menú contextual del archivo para abrir la pestaña Historial de Git del archivo seleccionado.
En la pestaña Historial de Git, elija Comparar con anterior en el menú contextual de una confirmación para abrir una pestaña de Diferencias que compare la confirmación seleccionada con la confirmación anterior.
O bien, seleccione dos confirmaciones y elija Comparar en el menú contextual de cualquiera de las confirmaciones para abrir una pestaña de Diferencias que compare las dos confirmaciones seleccionadas.
La pestaña Diferencias muestra líneas de archivo nuevas, eliminadas o modificadas.
Team Explorer no proporciona soporte técnico para esta característica.
El comando git diff puede comparar versiones diferentes del mismo archivo de confirmaciones diferentes en distintas ramas. El comando git log puede ayudarle a identificar las confirmaciones que contienen las versiones de archivo que quiere comparar.
Use git log y especifique un archivo para mostrar las confirmaciones que cambiaron el archivo:
git log <file>
De forma predeterminada, la salida del comando comienza con la confirmación más reciente de la rama actual y, a continuación, itera hacia atrás por las confirmaciones antecesoras (independientemente de la rama) siguiendo los vínculos primarios en los metadatos de cada confirmación.
Este es un ejemplo de la salida del comando git log index.html:
La salida muestra que se eliminó una línea y se agregó una línea.
Limitación de la salida del registro de Git
Para limitar] las confirmaciones que muestra git log, puede filtrar por autor, fecha, mensaje, contenido cambiado, etc. Por ejemplo:
git log --author=frank@fabrikam.com index.html solo muestra las confirmaciones realizadas por el autor especificado.
git log --since="2022-5-1" solo muestra las confirmaciones creadas después de la fecha especificada.
git log --before="yesterday" solo muestra las confirmaciones creadas antes de la fecha relativa especificada.
git log --grep="css change" solo muestra las confirmaciones con el texto especificado en su mensaje.
git log -S"myVariable" solo muestra las confirmaciones que introducen o quitan la cadena especificada.
git log -G"myVar.*" solo muestra las confirmaciones que introducen o quitan la cadena de expresión regular especificada.
git log -3 solo muestra las tres últimas confirmaciones.
Formato de la salida del registro de Git
Tiene varias opciones de formato para la lista de confirmaciones. Por ejemplo:
git log --abbrev-commit muestra confirmaciones con un identificador abreviado (suma de comprobación SHA-1).
git log --oneline muestra cada confirmación en un formato abreviado de una sola línea.
git log --patch index.html muestra cada confirmación junto con una diferencia de los cambios.
Restauración de archivos
Puede restaurar una versión específica de un archivo desde el historial de Git, incluso si el archivo se editó, eliminó o cambió de nombre en una confirmación posterior. La restauración de una versión anterior de un archivo no crea una nueva confirmación con el cambio. Para actualizar la rama con la versión del archivo restaurado, deberá confirmar el cambio.
El sitio del proyecto de grupo de Azure DevOps permite revertir todos los cambios realizados por una confirmación específica, pero no admite la reversión de los cambios a un archivo específico dentro de la confirmación.
Visual Studio permite comparar dos versiones del mismo archivo en la misma rama, pero no admite la comparación de versiones de archivo entre ramas.
En Explorador de soluciones, seleccione un archivo y elija Git > Ver historial en el menú contextual del archivo para abrir la pestaña Historial de Git del archivo seleccionado.
En la pestaña Historial de Git, elija Comparar con anterior en el menú contextual de una confirmación para abrir una pestaña de Diferencias que compare la confirmación seleccionada con la confirmación anterior.
O bien, seleccione dos confirmaciones y elija Comparar en el menú contextual de cualquiera de las confirmaciones para abrir una pestaña de Diferencias que compare las dos confirmaciones seleccionadas.
La pestaña Diferencias muestra líneas de archivo nuevas, eliminadas o modificadas.
Visual Studio permite comparar dos versiones del mismo archivo en la misma rama, pero no admite la comparación de versiones de archivo entre ramas.
En Explorador de soluciones, seleccione un archivo y elija Git > Ver historial en el menú contextual del archivo para abrir la pestaña Historial de Git del archivo seleccionado.
En la pestaña Historial de Git, elija Comparar con anterior en el menú contextual de una confirmación para abrir una pestaña de Diferencias que compare la confirmación seleccionada con la confirmación anterior.
O bien, seleccione dos confirmaciones y elija Comparar en el menú contextual de cualquiera de las confirmaciones para abrir una pestaña de Diferencias que compare las dos confirmaciones seleccionadas.
La pestaña Diferencias muestra líneas de archivo nuevas, eliminadas o modificadas.
Visual Studio 2019, versión 16.8 y versiones posteriores, proporciona una experiencia de control de versiones de Git al tiempo que mantiene la interfaz de usuario de Git de Team Explorer. Para usar Team Explorer, desactive Herramientas>Opciones>Características en versión preliminar>Nueva experiencia de usuario de Git en la barra de menús.
En Explorador de soluciones, seleccione un archivo y elija Git > Ver historial en el menú contextual del archivo para abrir una pestaña Historial de Git del archivo seleccionado.
En la pestaña Historial de Git, seleccione una confirmación y elija Ver detalles de confirmación en el menú contextual de la confirmación para abrir la vista Detalles de confirmación.
En la vista Detalles de confirmación, seleccione el archivo y elija Abrir en el menú contextual del archivo para abrir la versión anterior del archivo en una nueva pestaña.
Elija Archivo > Guardar como en la barra de menús para guardar la versión restaurada del archivo.
Puede usar los comandos git checkout o git show para restaurar una versión específica de un archivo a partir del historial de Git.
git checkout revierte un archivo a una versión confirmada previamente si especifica el archivo y una confirmación:
git checkout <commit> <file>
Por ejemplo, git checkout 85435fac src/app.ts revertirá el archivo src/app.ts a su versión en la confirmación 85435fac.
git show imprime el contenido de una versión de archivo confirmada anteriormente, que puede redirigir a un archivo de salida:
git show <commit>:<file> > <output file>
Por ejemplo, git show 85435fac:src/app.ts > /archive/oldapp.ts escribirá el contenido de app.ts en la confirmación 85435fac en /archive/oldapp.ts.
Puede comparar cualquier rama local o remota para revisar los cambios resultantes de una fusión mediante combinación o fusión mediante cambio de base. La comparación de ramas le permite comprobar si hay conflictos de combinación y ver cómo pueden afectar los cambios realizados por otros usuarios al trabajo.
Visual Studio 2019 y las versiones anteriores no admiten la comparación de ramas, por lo que si usa una de esas versiones, puede comparar ramas en la línea de comandos de Git o usar el explorador web, si el repositorio está hospedado en Azure Repos o GitHub. Visual Studio 2022 admite la comparación de ramas, como se describe en Comparación de ramas.
En el explorador web, abra el proyecto de equipo de la organización de Azure DevOps. En la vista Repositorios > Ramas, seleccione los puntos suspensivos de cualquier rama y elija Comparar ramas para abrir la vista Comparación de ramas.
En la vista Comparación de ramas, elija las dos ramas que quiere comparar. Seleccione la pestaña Archivos para ver una vista de las diferencias de las líneas nuevas, eliminadas o modificadas en cada archivo cambiado.
Nota:
GitHub admite la comparación de ramas. Para comparar dos ramas, anexe /compare/<branch1>...<branch2> a la dirección URL del repositorio de GitHub para ir a la página de comparación. La página de comparación contiene una vista de diferencias de cada archivo que difiere. Para obtener más información sobre la comparación de ramas en GitHub, consulte Comparación de ramas.
Para comparar una rama con la rama actual, haga clic con el botón derecho en una rama en el panel Ramas del repositorio y, a continuación, seleccione la opción comparar. El menú contextual especifica los nombres de las ramas actuales y de destino:
Visual Studio 2019 no admite la comparación de ramas. Sin embargo, puede comparar ramas en la línea de comandos de Git o mediante el explorador web, si el repositorio se hospeda en Azure Repos o GitHub.
Sugerencia
Para acceder al portal web desde la vista Inicio de Team Explorer, elija Portal web.
Visual Studio 2019 no admite la comparación de ramas. Sin embargo, puede comparar ramas en la línea de comandos de Git o mediante el explorador web, si el repositorio se hospeda en Azure Repos o GitHub.
Sugerencia
Para acceder al portal web desde la vista Inicio de Team Explorer, elija Portal web.
Para comparar dos ramas locales o remotas, puede usar el comando de Git diff que especifica los nombres de rama:
git diff <branch1> <branch2>
Git compara la confirmación en el extremo de una rama con la confirmación en el extremo de la otra. La salida de diferencias mostrará las eliminaciones y adiciones entre cada archivo de las dos ramas.
Este es un ejemplo de salida para el comando git diff users/frank/feature origin/main, que compara una rama local con una rama remota:
index 36843b8..03afc4b 100644
--- a/tsapp/index.html
+++ b/tsapp/index.html
@@ -4,7 +4,7 @@
<head>
<meta charset="utf-8" />
<title>TypeScript HTML App</title>
- <link rel="stylesheet" href="fabrikam-test.css" type="text/css" />
+ <link rel="stylesheet" href="fabrikam.css" type="text/css" />
<script src="app.js"></script>
</head>
...
--- a/tsapp/app.ts
+++ b/tsapp/app.ts
constructor(element: HTMLElement) {
this.element = element;
- this.element.innerHTML += "The time is: ";
+ this.element.innerHTML += "The time is now: ";
this.span = document.createElement('span');
this.element.appendChild(this.span);
this.span.innerText = new Date().toUTCString();
Para restringir la comparación a un archivo específico, especifique el archivo en el comando diff:
git diff <branch1> <branch2> <file>
Por ejemplo, git diff users/frank/feature origin/main index.html solo generará una vista de diferencias para el archivo index.html.