Şimdi "master" olarak adlandırılan "gövde" ye sahip olacaksınız, şimdi "head" olarak adlandırılan "şubelere" sahip olacaksınız ve hala "tags" olarak adlandırılacak "etiketler" e sahip olacaksınız , ancak bunlar klasör olmayacak, bunlar " refs ", depodaki ayrı bir ad alanında yaşayan düzeltmelere yönelik etiketler.
Subversion ve Git'in dallanma için farklı yolları vardır. Temel alt sürüm modeli, tek bir genel zaman çizelgesine sahip bir dizin ağacına sahip olmaktır ve dallamak istiyorsanız, başka bir dizine bir alt ağaç kopyalayabilirsiniz.
Öte yandan Git, her birinin ebeveynini tanımladığı revizyonları olan bir dizin ağacına sahiptir, ancak her revizyonun birden fazla ebeveyni (birleştirme) ve birden çok çocuğu (şubeleri) olabilir. Böylece şubeler için dizinler yerine, bağımsız olarak revizyonlar elde edersiniz. "Refs" sadece verilen "dal" için en son revizyonla ilişkilendirilmiş adlardır.
Bu fark dağıtılmış sürüm kontrolü için esastır. Git'in (ve diğer dağıtık sistemlerin) geçmişi doğrusal tutmak için merkezi bir yetkisi yoktur, bu nedenle revizyonlar birbirini bilmeden bağımsız olarak birden fazla depoda oluşturulabilir ve sistemin bunları barındırması gerekir. Genelleme, dallanmayı ve birleştirmeyi genel olarak çok daha kolay hale getirir.
Git'te düzeltmelerin herhangi bir dalda olmadığını unutmayın. Onlar sadece ve dallar onları içerir. Ancak şube birleştiğinde veya ölü sokak olduğunu kanıtladıktan sonra, ona işaret eden "ref" yi silebilir ve tamamen unutabilirsiniz (eski denemeleri atarsanız, sonunda çöp toplanırlar git gc
). Bu, eski deneylerde bataklıktan kaçınmanıza yardımcı olur, kimse artık ne hakkında olduklarını hatırlamıyor.