La puesta en escena es un paso antes del proceso de confirmación en git. Es decir, una confirmación en git se realiza en dos pasos: puesta en escena y confirmación real.
Mientras haya un conjunto de cambios en el área de preparación, git le permite editarlo como lo desee (reemplazar los archivos almacenados por etapas con otras versiones de los archivos almacenados, eliminar los cambios de la preparación, etc.).
Tiempo de metáfora roto:
Considera un escenario en el que llamas a los agentes de mudanzas para que te lleven tus cosas de tu antiguo apartamento a tu nuevo apartamento. Antes de hacer eso, repasarás tus cosas, decidirás qué llevas contigo y qué tiras, lo empacarás en bolsas y lo dejarás en el pasillo principal. Los motores simplemente vienen, recogen las bolsas (ya empaquetadas) del pasillo y las transportan.
En este ejemplo, todo hasta que los agentes de mudanzas obtienen sus cosas, se está preparando: usted decide qué va a dónde, cómo empaquetarlo y así sucesivamente (por ejemplo, puede decidir que la mitad de sus cosas se tirarán antes de que lleguen los motores, eso es parte 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 (estadificación) y lo que no puede fallar (cometer):
La confirmación en git se implementa de manera transaccional, después de que la puesta en escena sea exitosa. Varios pasos en la preparación pueden fallar (por ejemplo, debe comprometerse, pero su disco duro está lleno al 99.9999%, y git no tiene espacio para realizar una confirmación). Esto fallará en la preparación (su repositorio no se dañará por una confirmación parcial) y el proceso de preparación no afectará su historial de confirmación (no dañará su repositorio en caso de error).