¿Cómo se ven los cambios recientes al repository local en Git?

Estoy trabajando en un gran repository con muchos files. He hecho pequeños cambios en muchos de ellos (y no he comprometido nada) y me gustaría poder recorrer el historial de cambios para ver exactamente qué se modificó; similar a lo que sucede si usas el command git stash -p . es posible?

Más o less: cambié un montón de cosas pequeñas en diferentes files y luego algo se rompió y estoy tratando de averiguar cuál fue el cambio que lo tiró todo.

Suposiciones

  • no has cometido nada
  • no quieres usar una GUI

Opciones:

  • git status te dice lo que has cambiado (obviamente)
  • git diff (que te dice lo que se organizaría si git add un git add
  • git diff [branchname/commit] (que te dice la diferencia entre el tree de trabajo y el nombre de twig / commit – para que git diff HEAD o git diff master sean útiles)
  • Agregue --patch si desea un file de parche
  • Agregue --stat si quiere statistics.

Podría usar el software Tortoise Git que le proporcionará una GUI para ver todos los cambios en cada file.

Luego vaya a su repository, haga clic con el button derecho (suponiendo que esté usando Windows) y coloque el cursor sobre la opción TortoiseGit y luego select Verificar pestaña de modificación como se muestra en la image a continuación Directorio de trabajo

Esto abrirá un nuevo cuadro de dialog para que pueda verificar qué file se modificó, con todos los detalles.

Caja de diálogo Este dialog le mostrará cada file que ha cambiado de alguna manera en su tree de trabajo, así como también cualquier file no versionado que pueda tener.

El cuadro de dialog utiliza encoding de colors para resaltar el estado.

Azul

Artículos modificados localmente.

Púrpura

Artículos agregados Los elementos que se han agregado con historial tienen un signo + en la columna de estado del text, y una información sobre herramientas muestra de dónde se copió el elemento.

Rojo oscuro

Elementos eliminados o faltantes.

Verde

Elementos modificados localmente y en el repository. Los cambios se fusionarán en la actualización. Estos pueden generar conflictos en la actualización.

Rojo shiny

Elementos modificados localmente y eliminados en el repository, o modificados en el repository y eliminados localmente. Esto generará conflictos en la actualización.

Negro

Artículos sin cambios y sin versión.

Desde el menu contextual del dialog puede mostrar una diferencia de los cambios. Verifique los cambios locales que realizó utilizando Menú contextual → Comparar con base . Verifique los cambios en el repository hechos por otros utilizando Menú contextual → Mostrar diferencias como Dif. Unificada.

También puede revertir cambios en files individuales. Si eliminó accidentalmente un file, aparecerá como Perdido y podrá usar Revertir para recuperarlo.

Los files no versionados e ignorados se pueden enviar a la papelera de reciclaje desde aquí usando Menú contextual → Eliminar . Si desea eliminar files permanentemente (sin pasar por la papelera de reciclaje), mantenga presionada la tecla Shift mientras hace clic en Eliminar.

Si desea examinar un file en detalle, puede arrastrarlo desde aquí a otra aplicación, como un editor de text o IDE.

Las columnas son personalizables. Si hace clic derecho en cualquier encabezado de columna, verá un menu contextual que le permite seleccionar qué columnas se muestran. También puede cambiar el ancho de la columna utilizando el controller de arrastre que aparece cuando mueve el mouse sobre el límite de una columna. Estas personalizaciones se conservan, por lo que verá los mismos títulos la próxima vez.

En la parte inferior del dialog, puede ver un resumen del range de revisiones de repository en uso en su tree de trabajo. Estas son las revisiones de compromiso, no las revisiones de actualización; representan el range de revisiones donde estos files se comprometieron por última vez, no las revisiones a las que se han actualizado. Tenga en count que el range de revisión que se muestra solo se aplica a los elementos mostrados, no a todo el tree de trabajo. Si desea ver esa información para todo el tree de trabajo, debe marcar la checkbox Mostrar files no modificados.