¿Cuál es la diferencia entre la puesta en escena y el almacenamiento en caching?

Estoy leyendo el libro Pro Git, segunda edición .

Dice, en la página 21:

git diff --staged Este command compara tus cambios por etapas con tu último compromiso.

y una página más tarde (sin explicar qué significa almacenado en caching)

git diff --cached para ver lo que has organizado hasta ahora.

y ahora estoy un poco perdido. ¿Cuál es la diferencia entre la puesta en escena y el almacenamiento en caching?

El "área de preparación", o "caching" son sinónimos para la misma cosa que tiene otro nombre en la mayoría de los otros contexts en Git: El índice .

El índice es el área donde se organizan los cambios cuando los agrega usando git add (o git rm ). Es el set de cambios que se comete cuando haces git commit .

Los tres nombres se utilizan generalmente como sinónimos, aunque "caching" rara vez se utiliza fuera del parámetro --cached en git diff .

Ellos son sinónimos de los documentos de Git :

Este formulario es para ver los cambios que realizó para la siguiente confirmación relativa al nombre. Por lo general, desearía comparar con la última confirmación, por lo que si no realiza una entrega, su valor pnetworkingeterminado es HEAD. Si HEAD no existe (por ejemplo, twigs no nacidas) y no se proporciona, muestra todos los cambios por etapas. –staged es un sinónimo de –cached.