Tengo un repositorio con archivo foo
en la rama maestra. Cambié a rama de barra e hice algunos cambios en foo
. ¿Cómo puedo ejecutar ahora una git diff
copia entre esta copia (que aún no está confirmada) y la copia de la rama maestra?
158
git diff
, siempre pienso en stackoverflow.com/questions/5256249/git-diff-doesnt-show-enough/…--
para separar los parámetros de los argumentos de ruta?git diff -- master:foo foo
git diff -- master:foo foo
no funciona: parece tratar el argumentomaster:foo
como un nombre de archivo inexistente (y lo ignora) en lugar de un archivo en una rama. Intente cambiar los últimos 2 args: si funcionó, la comparación de diferencias debería invertirse, pero la salida no cambia.git diff master:foo foo
pero no al revés. Yo tampoco lo entiendo. Con git 1.7.9.5 / Ubuntu 12.04, al menos puedo hacergit diff -R master:foo foo
para obtener la diferencia que realmente quiero. Cuando intento eso con msysgit 1.9.4 / Windows 7 x64 me salefatal: unable to read 0000000000000000000000000000000000000000
. Sin-R
mí recibo el mismo mensaje de error que con git 1.7.9.5, pero con 1.9.4 obtengofatal: master:foo: no such path in the working tree
.Estás tratando de comparar tu árbol de trabajo con un nombre de rama en particular, así que quieres esto:
Que es de esta forma de git-diff (vea la página de manual de git-diff)
Para su información, también hay una opción
--cached
(aka--staged
) para ver la diferencia de lo que ha puesto en escena, en lugar de todo en su árbol de trabajo:fuente
También:
git diff master..feature foo
Ya
git diff foo master:foo
que no funciona en directorios para mí.fuente
git diff branch1:foo master:foo
fuente
git difftool
no tiene-v
opción según docs git-scm.com/docs/git-difftool . Quiso decir-y
?también debería funcionar
fuente
git diff deployment master -- file
ygit diff master deployment -- file
funcionan como se espera con 2 ramas .Para ver los cambios locales en comparación con su sucursal actual
Para ver cambios locales, compare con cualquier otra sucursal existente
Para ver los cambios de un archivo en particular
Asegúrate de correr
git fetch
al principio.fuente