Me di cuenta de que mientras trabajaba en uno o dos boletos, si me alejo, no estoy seguro de en qué trabajé, qué cambió, etc.
¿Hay alguna manera de ver los cambios realizados para un archivo dado antes de git add y luego git commit?
Usted está buscando git diff
. Dependiendo de su situación exacta, hay tres formas útiles de usarlo:
# show differences between index and working tree
# that is, changes you haven't staged to commit
git diff [filename]
# show differences between current commit and index
# that is, what you're about to commit
# --staged does exactly the same thing, use what you like
git diff --cached [filename]
# show differences between current commit and working tree
git diff HEAD [filename]
Funcionará de forma recursiva en directorios, y si no se proporcionan rutas, muestra todos los cambios.
[filename]
indican un argumento opcional.) Con el*
que está dejando que el shell enumere todos los archivos, por lo que si está en un subdirectorio solo obtendrá cosas en ese subdirectorio (no todo el repositorio), y usted ' Echaré de menos los cambios en los archivos ocultos.git add -p
es una alternativa para inspeccionar todos los archivos.git diff --staged [filename]
su respuesta principal, ya que es una situación que se necesita con mayor frecuencia.Uso
git-diff
:fuente
git diff filename
fuente
Para mí,
git add -p
la forma más útil (¿y con la intención, creo, de los desarrolladores de git?) De revisar todos los cambios no organizados (muestra la diferencia para cada archivo), elegir un buen conjunto de cambios que deberían ir con un commit, luego cuando tenga organizó todo eso, luego usegit commit
y repita para la próxima confirmación. Luego puede hacer que cada confirmación sea un conjunto de cambios útil o significativo, incluso si se llevaron a cabo en varios archivos. También sugeriría crear una nueva rama para cada boleto o actividad similar, y cambiar entre ellas usandocheckout
(quizás usandogit stash
si no desea comprometerse antes de cambiar), aunque si está haciendo muchos cambios rápidos, esto puede ser un dolor. No te olvides de unirte a menudo.fuente
git diff
fuente
Recuerda, estás cometiendo cambios , no archivos.
Por esta razón, es muy raro que no use
git add -p
(o el equivalente de magit) para agregar mis cambios.fuente
La ruta puede ser la ruta completa del sistema hasta el archivo o
si está en el proyecto, pegue la ruta del archivo modificado también
para los archivos modificados con el uso de la ruta:
git status
fuente
Bueno, mi caso cuando no quieres preocuparte por la lista de archivos. Solo muéstrales a todos.
Cuando ya corriste
git add
con tu lista de archivos:En versiones más recientes de
git
, puede usar--staged
también, que es sinónimo de--cached
.Lo mismo se puede usar para no haber agregado archivos pero sin
--cached
opción.Alias de comando Git para la opción "en caché":
fuente
Vaya a su respectivo repositorio de git, luego ejecute el siguiente comando:
nombre de archivo git diff
Se abrirá el archivo con los cambios marcados, presione la tecla Intro / Entrar para desplazarse hacia abajo.
El nombre de archivo PS debe incluir la ruta completa del archivo o, de lo contrario, puede ejecutar sin la ruta completa del archivo yendo al directorio / carpeta correspondiente del archivo
fuente
También puede usar un editor de texto compatible con git. Muestran colores en las líneas que se han modificado, otro color para líneas agregadas, otro color para líneas eliminadas, etc.
Un buen editor de texto que hace esto es GitHub's Atom 1.0 .
fuente