La puesta en escena es un paso antes del proceso de confirmación en git. Es decir, un commit en git se realiza en dos pasos: puesta en escena y commit real.
Mientras un conjunto de cambios esté en el área de preparación, git le permite editarlo a su gusto (reemplace los archivos almacenados con otras versiones de los archivos almacenados, elimine los cambios de la preparación, etc.).
Tiempo de metáfora rota:
Considere un escenario en el que llame a los motores para obtener sus cosas de su antiguo departamento a su nuevo departamento. Antes de hacer eso, revisará sus cosas, decidirá qué lleva consigo y qué tira, lo empacará en bolsas y lo dejará en el pasillo principal. Los motores simplemente vienen, sacan las bolsas (ya empacadas) del pasillo y las transportan. En este ejemplo, todo hasta que los motores obtengan sus cosas, se está organizando: usted decide qué va a dónde, cómo empacarlo, etc. de puesta en escena).
Desde un punto de vista técnico, la puesta en escena también admite confirmaciones transaccionales, al dividir todas las operaciones en lo que puede fallar (puesta en escena) y lo que no puede fallar (confirmación):
El commit en git se implementa transaccionalmente, después de que la puesta en escena es exitosa. Varios pasos en la puesta en escena pueden fallar (por ejemplo, necesita confirmar, pero su HDD está 99.9999% lleno, y git no tiene espacio para realizar una confirmación). Esto fallará en la preparación (su depósito no será dañado por una confirmación parcial) y el proceso de preparación no afecta su historial de confirmación (no corrompe su depósito en caso de error).