Постановка - це крок до процесу фіксації в git. Тобто, фіксація в git виконується в два етапи: постановка та фактична фіксація.
Поки набір змін знаходиться в області постановки, git дозволяє редагувати його за вашим бажанням (замінюйте поетапні файли іншими версіями поетапних файлів, видаляйте зміни під час постановки тощо).
Розбитий час метафори:
Розгляньте сценарій, коли ви зателефонуєте людям, які переїжджають, щоб доставити ваші речі зі старого приміщення до нового приміщення. Перш ніж це зробити, ви переглянете свої речі, вирішите, що ви візьмете з собою і що викинете, упакуйте в мішки і залиште в головному передпокої. Переїзди просто приходять, дістають із передпокою (вже упаковані) сумки та транспортують їх. У цьому прикладі все, доки ватаги не дістануть ваші речі, ставлять постановку: ви вирішуєте, що куди подіти, як упакувати і так далі (наприклад, ви можете вирішити, що половина ваших речей буде викинута до того, як вантажники навіть туди потраплять - це частина інсценування).
З технічної точки зору, інсценізація також підтримує трансакційні комісії, розділяючи всі операції на те, що може завершитися (стадія), а що не може відмовити (здійснити):
Здійснення в git здійснюється транзакційно, після того, як постановка буде успішною. Кілька кроків у постановці може бути невдалим (наприклад, вам потрібно виконати, але ваш жорсткий диск на 99,9999% заповнений, а git не має місця для виконання комісії). Це не вдасться здійснити поетапну роботу (ваш сховище не буде пошкоджено частковою комісією), а процес постановки не вплине на вашу історію комісій (він не пошкодить ваше сховище у разі помилки).