Eh bien, c'est distribué. Les benchmarks indiquent qu'il est considérablement plus rapide (étant donné sa nature distribuée, les opérations telles que les diffs et les journaux sont toutes locales, donc bien sûr c'est incroyablement plus rapide dans ce cas), et les dossiers de travail sont plus petits (ce qui m'épate toujours).
Lorsque vous travaillez sur subversion ou sur tout autre système de contrôle de révision client/serveur, vous créez essentiellement des copies de travail sur votre machine en extrayant les révisions. Cela représente un instantané dans le temps de ce à quoi ressemble le référentiel. Vous mettez à jour votre copie de travail via des mises à jour et vous mettez à jour le référentiel via des commits.
Avec un contrôle de version distribué, vous n'avez pas d'instantané, mais plutôt l'intégralité de la base de code. Tu veux faire un diff avec une version de 3 mois ? Pas de problème, la version de 3 mois est toujours sur votre ordinateur. Cela ne signifie pas seulement que les choses sont beaucoup plus rapides, mais si vous êtes déconnecté de votre serveur central, vous pouvez toujours effectuer de nombreuses opérations auxquelles vous êtes habitué. En d'autres termes, vous n'avez pas seulement un instantané d'une révision donnée, mais l'intégralité de la base de code.
On pourrait penser que Git occuperait beaucoup d'espace sur votre disque dur, mais d'après quelques benchmarks que j'ai vus, cela prend en fait moins. Ne me demandez pas comment. Je veux dire, il a été construit par Linus, il connaît une chose ou deux sur les systèmes de fichiers, je suppose.