ver modificados log example commits branches archivos git git-diff git-status

modificados - git push



git: ¿Por qué Git diff no muestra ninguna diferencia? (3)

Para el uso de la comparación entre el área de ensayo y el repositorio

$git diff --staged

Para el uso de comparación entre Trabajo versus Depósito

$ git diff

pero si un archivo se cambia y se agrega al área de ensayo ( $ git add fileName ) y tratamos de ver la diferencia con ( $ git diff ). No devolverá ninguna diferencia ya que el archivo está en el área de ensayo y no se comparará con el repositorio.

Si ejecuto ''git status'' en mi repositorio, aparece:

# On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: myfile

Sin embargo, si hago un ''git diff myfile'' no muestra diferencias. ¿Esto es porque hice un cambio y lo eliminé para que vuelva al original?

¿Debo ejecutar ''git checkout myfile'' para borrarlo?


Su archivo ya está configurado para comprometerse. Puede mostrar su diferencia usando la opción --cached de git.

git diff --cached myfile

Para dejar de grabar, simplemente haz lo que sugiere el estado de git en su salida;)

Puede consultar el índice de Git para obtener más información.


Tengo una preferencia por el alias "en --staged , sobre todo porque me parece que "la --staged realmente significa lo que quiero hacer, es decir, mostrarme las diferencias por etapas".

git diff --staged

La respuesta aceptada es correcta y no tengo ningún reparo con ella. Solo personalmente creo que - --cached siente como que git diff está almacenando en la memoria caché la respuesta y mostrándome resultados precalculados o algo así.

También me gusta git diff HEAD porque es más general. Reúne dos conceptos que la mayoría de la gente conoce, es decir:

  1. git diff <commit> te permite ver la diferencia entre tu posición actual y una confirmación previa.

  2. HEAD (o head porque sostener turno es molesto) es una referencia a la punta de su rama. (Para aquellos de ustedes que están contando las pulsaciones de teclas, @ es un alias para HEAD ).

Combinados, estos dos conceptos generalmente útiles resultan en:

git diff head git diff @