A preparação é uma etapa antes do processo de confirmação no git. Ou seja, uma consolidação no git é realizada em duas etapas: preparo e consolidação real.
Enquanto um conjunto de alterações estiver na área de armazenamento temporário, o git permite que você o edite como desejar (substitua os arquivos temporários por outras versões dos arquivos temporários, remova as alterações do armazenamento temporário, etc.).
Tempo quebrado da metáfora:
Considere um cenário em que você liga para os agentes de mudança para obter suas coisas do seu apartamento antigo para o seu novo apartamento. Antes de fazer isso, você examinará suas coisas, decidirá o que você leva com você e o que você joga fora, empacota-as em sacos e deixa-as no corredor principal. Os transportadores simplesmente vêm, pegam as malas (já embaladas) do corredor e as transportam. Neste exemplo, tudo até que os movedores obtenham suas coisas é organizado: você decide o que vai para onde, como empacotá-lo e assim por diante (por exemplo, você pode decidir que metade das suas coisas será jogada fora antes mesmo que os movedores cheguem lá - isso é parte de preparação).
Do ponto de vista técnico, a preparação também suporta confirmações transacionais, dividindo todas as operações naquilo que pode falhar (preparação) e o que não pode falhar (confirmação):
O commit no git é implementado transacionalmente, após o teste ser bem-sucedido. Várias etapas na preparação podem falhar (por exemplo, você precisa confirmar, mas o seu HDD está 99,9999% cheio e o git não tem espaço para executar uma confirmação). Isso falhará no armazenamento temporário (seu repositório não será corrompido por uma confirmação parcial) e o processo de armazenamento temporário não afeta o histórico de confirmação (não corrompe seu repositório em caso de erro).