Evreleme, git'teki işlemden önceki bir adımdır. Diğer bir deyişle, git'te bir taahhüt iki adımda gerçekleştirilir: evreleme ve gerçek bir taahhüt.
Bir değişiklik kümesi hazırlama alanında olduğu sürece, git, istediğiniz gibi düzenlemenizi sağlar (aşamalı dosyaları diğer aşamalı dosyaların diğer sürümleriyle değiştir, değişiklikleri aşamalı olarak kaldır, vb.).
Bozuk metafor zamanı:
Eski dairenizden yeni dairenize eşyalarınızı almak için nakliyecileri çağırdığınız bir senaryo düşünün. Bunu yapmadan önce, eşyalarını gözden geçirecek, neye ne götüreceğine ve ne fırlatıp atılacağına karar vereceksin, çantaları paketleyecek ve ana koridorda bırakacaksın. Taşıyıcılar basitçe gelir, (zaten paketlenmiş) çantaları koridordan alır ve taşınır. Bu örnekte, nakliyeciler eşyalarınızı alana kadar her şey evrimleşiyor: nereye nereye gideceğinize, nasıl paketleyeceğinize vb. Karar veriyorsunuz (örneğin eşyalarınızın yarısının, taşıyıcılar oraya gitmeden önce atılacağına karar verebilirsiniz - bu kısım sahneleme).
Teknik bakış açısından, evreleme, tüm işlemleri neyin başarısız olabileceği (evreleme) ve neyin başarısız olamayacağı (taahhüt) olarak ayırarak işlem taahhütlerini de destekler:
Git'teki taahhüt işlem aşamasından sonra başarılı bir şekilde gerçekleştirilir. Aşamalandırmadaki birkaç adım başarısız olabilir (örneğin, onaylamanız gerekir, ancak HDD'niz% 99,9999 doludur ve git bir işlem yapmak için boş alana sahip değildir). Bu işlem aşamalandırmada başarısız olur (havuzunuz kısmi bir taahhütle bozulmaz) ve hazırlık süreci işlem geçmişinizi etkilemez (bir hata durumunda havuzunuzu bozmaz).