Tengo un repositorio con archivo fooen la rama maestra. Cambié a rama de barra e hice algunos cambios en foo. ¿Cómo puedo ejecutar ahora una git diffcopia 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 foogit diff -- master:foo foono funciona: parece tratar el argumentomaster:foocomo 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 foopero 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 foopara obtener la diferencia que realmente quiero. Cuando intento eso con msysgit 1.9.4 / Windows 7 x64 me salefatal: unable to read 0000000000000000000000000000000000000000. Sin-Rmí 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 fooYa
git diff foo master:fooque no funciona en directorios para mí.fuente
git diff branch1:foo master:foofuente
git difftoolno tiene-vopción según docs git-scm.com/docs/git-difftool . Quiso decir-y?también debería funcionar
fuente
git diff deployment master -- fileygit diff master deployment -- filefuncionan 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 fetchal principio.fuente