Постановка - это шаг перед процессом фиксации в git. То есть фиксация в git выполняется в два этапа: подготовка и фактическая фиксация.
Пока набор изменений находится в промежуточной области, git позволяет вам редактировать его по своему усмотрению (заменять промежуточные файлы другими версиями промежуточных файлов, удалять изменения из промежуточной стадии и т. Д.).
Время сломанной метафоры:
Рассмотрим сценарий, в котором вы вызываете грузчиков, чтобы доставить ваши вещи из старой квартиры в новую. Прежде чем сделать это, вы изучите свои вещи, решите, что взять с собой, а что выбросить, упаковать в мешки и оставить в главном коридоре. Грузчики просто приходят, забирают (уже упакованные) сумки из прихожей и перевозят их. В этом примере все до тех пор, пока грузчики не получат ваши вещи, - это постановка: вы решаете, что куда идти, как упаковать его и так далее (например, вы можете решить, что половина ваших вещей будет выброшена до того, как грузчики даже доберутся до места - это часть постановки).
С технической точки зрения, подготовка также поддерживает транзакции, разделяя все операции на то, что может дать сбой (подготовка), а что не может (принятие):
Фиксация в git осуществляется транзакционно, после того, как подготовка прошла успешно. Несколько этапов подготовки могут завершиться неудачно (например, вам нужно выполнить фиксацию, но ваш жесткий диск заполнен на 99,9999%, а у git нет места для выполнения фиксации). Это не удастся подготовить (ваш репозиторий не будет поврежден при частичной фиксации), и процесс подготовки не повлияет на вашу историю фиксации (он не повредит ваше хранилище в случае ошибки).