Eu sei que o Git é ótimo para projetos de código aberto. Mas eu estava pensando: para uma empresa com 20 programadores trabalhando em um projeto de 1 ano, qual sistema de controle de origem é desejável? Pelo que ouvi, Git usa puxar; não seria menos do que desejável precisar passar por outra pessoa para obter suas alterações no porta-malas principal? Especialmente quando todo mundo está trabalhando ao mesmo tempo?
Isso é apenas um exemplo que eu estava pensando. Eu sei como usar o SVN, mas mesmo no meu último trabalho, não o usamos em nossos projetos, pois tudo foi feito em PHP e esses eram normalmente projetos independentes de 1 semana. Eu só tinha SVN para o meu código local e não precisava usá-lo com outras pessoas.
Então, o que são bons controles de origem e, especificamente, por que é bom para isso?