Links

Sugestão de leitura mais técnica → https://dev.to/leandronsp/pt-br-fundamentos-do-git-um-guia-completo-2djh?s=09


Conhece o jogo dos 7 erros?

image.png

Diff

Os sistemas centralizados que vieram antes do git tinham um gargalo, que aparecia em projetos na medida em que eles iam ficando velhos.

Por uma questão de otimização, esses versionadores utilizavam a estratégia de delta encoding para criar uma linha do tempo em que cada modificação é registrada apenas como a diferença entre o arquivo anterior e o atual.

Que é a famosa diff (difference). O que era atrente por ocupar menos espaço no HD.

image.png

Então na real, essa linha do tempo era como o arquivo inicial + uma sequencia de diferenças.

image.png

E o problema estava no fato de que em projetos grandes era custoso ter todo esse histórico de milhares de pequenas/ou grandes alterações para poder manter a integridade do código. Pois para ter a versão mais recente de um arquivo você era obrigado a processar todo o histórico de diffs, dele.

image.png

Ou seja, trabalhar de uma forma rápida em um mar de diffs, se torna uma tarefa de alto custo computacional.

image.png