Dağıtılmış bir SCM olarak git, 'çalışan kopyanın anlık görüntüsünü alın' (taahhüt) ve 'depoları senkronize et' (push / pull / fetch) kavramlarını birbirinden ayırır.
Deponuzdan yalnızca bir yerel klonunuz varsa, zorlamak mantıklı değildir. Ancak, github, sen bunu başka klon (github bir) var ve değişiklikleri itme en az bir avantajı var sahiptir: yedekleme. Bilgisayarınız ölürse, hala github'a kadar itilmiş olan her şeye sahip olursunuz.
Tabii ki, bu Github'un temel amacı değil; github kod paylaşmaya yöneliktir, bu nedenle projeniz github'daysa, başkalarının oradan çekilmesine, projenizi klonlamanıza, klonlarından çekme isteklerine göre hareket etmesine veya hatta güvenilir başkalarının deponuza itme erişimi vermesine izin verebilirsiniz.
Basılması gereken bir başka sebep de birkaç yerel klon kullanıyorsanız. Bu, çeşitli şeyler için faydalı olabilir: örneğin, aynı anda iki farklı dalda çalışmak isteyebilirsiniz veya deponuzdaki olası yıkıcı işlemleri denemek isteyebilirsiniz; Her şey amaçlandığı gibi çalışıyorsa, değiştirilmiş klonu saklarsınız (veya değişikliklerinizi orijinal depoya geri gönderirsiniz), ancak işler güneye giderse, yalnızca berbat klonu silip orijinaline geri dönebilirsiniz (yine de değişmez) .
Bazı insanlar dağıtım için git bile kullanıyor: üretim sürümü ayrıca bir git repo, ve daha yeni bir sürüme güncelleme yapılması ve satın alınması ile ilgili bir sorun var (tabii ki bu sadece bir derleme adımına ihtiyacınız yoksa işe yarar). Mutlaka ciddi şeyler için tavsiye etmem ama küçük şeyler için basit ve pragmatik bir çözümdür.