¿Cómo puedo comparar mi repositorio bifurcado local con los cambios que se pueden haber realizado en el original?

2 minutos de lectura

avatar de usuario de guypursey
chicopursey

Quiero comparar el clon local de un repositorio que he bifurcado con el repositorio original/upstream para ver si se han realizado más confirmaciones que requieran que extraiga/fusione. Me gustaría hacer esto desde la línea de comando.

Agregué el repositorio original a mi lista de controles remotos con este comando:

git remote add upstream <original repo URL>

Esto se describe en La propia página de Github sobre el tema de bifurcar una rama.

Sin embargo, cuando corro git diff upstream o git diff upstream/master como se aconseja aquí o git diff master upstream/master como se aconseja aquí, me sale esto:

fatal: ambiguous argument 'upstream': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

El comando git diff origin/master no devuelve un error (ni nada por el estilo). ¿Me he perdido algo?

Antes de que uno pueda ejecutar un git diff entre el propio repositorio local y el upstream, primero se debe buscar el repositorio upstream. A continuación, la comparación se realiza localmente.

git fetch upstream

Esto no afecta la rama de trabajo de su repositorio, pero agrega un montón de ramas “remotas”, que puede ver con git branch -a.

Una vez que los tengas, usa:

git diff master upstream/master

Esto comparará el repositorio local que tiene con cualquier actualización que se haya realizado en el repositorio original. Las variaciones de este comando se ocuparán de las actualizaciones que haya realizado en su propia rama o se compararán con un ancestro común (p. ej., git diff master...upstream/master) como siempre.

Quiero comparar el clon local de un repositorio que he bifurcado con el original/upstream

En mayo de 2022, esa comparación se puede hacer en línea en GitHub:

Comparar diferencias entre sucursales

Agregamos una mejora a la vista del repositorio para una rama que es diferente a su rama ascendente.
Anteriormente, mostramos la cantidad de confirmaciones que la rama estaba por delante o por detrás del flujo ascendente, pero no había una manera fácil de mostrar las diferencias.

Ahora puede hacer clic en un enlace que lo lleva a una página de comparación para ver las diferencias..

imagen -- https://i0.wp.com/user-images.githubusercontent.com/90000203/166960932-d630a74f-4e08-47f3-a06f-c87638b64366.png?ssl=1

Nota: hay un enlace diferente para adelante versus atrás

  • ahead representa los cambios que tiene su rama pero la rama ascendente no
  • behind representa los cambios que tiene la rama ascendente pero su rama no

Leer más sobre sucursales.

¿Ha sido útil esta solución?