[Aula 02] Introdução ao Controle de Versão
Last updated
Last updated
Entendendo o controle de versão e sua necessidade.
Sistemas de controle de versão: local x centralizado x distribuído.
Conhecendo o Git: a ferramenta revolucionária de controle de versão.
O controle de versão refere-se ao processo de rastrear e controlar mudanças nos arquivos de um projeto. É uma ferramenta crucial para devs, permitindo colaborações eficazes e o gerenciamento de históricos de alterações.
Colaboração: Permite que várias pessoas trabalhem no mesmo projeto simultaneamente.
Rastreamento: Você pode revisitar versões anteriores, entender o que foi alterado e quando.
Proteção: Se algo der errado, é fácil voltar a um estado anterior do projeto.
Os sistemas de controle de versão local mantêm um banco de dados local com todas as mudanças no projeto.
🚫 Limitação: Falta de colaboração e alto risco de perda de dados.
Os sistemas centralizados, como o SVN, têm um servidor central contendo todas as versões dos arquivos. Os usuários pegam arquivos deste servidor central.
✅ Vantagem: Melhor colaboração em relação ao local.
🚫 Limitação: Se o servidor central falhar, todo o histórico de versões pode ser comprometido.
Os sistemas distribuídos, como o Git, permitem que cada pessoas tenha uma cópia local completa do histórico de desenvolvimento.
✅ Vantagem: Robustez, flexibilidade e permite operações offline.
Git é um sistema de controle de versão distribuído gratuito e de código aberto que pode lidar com tudo, desde pequenos a grandes projetos, com rapidez e eficiência.
Eficiência: O Git é incrivelmente rápido, permitindo operações quase instantâneas.
Distribuído: Como mencionado anteriormente, sua natureza distribuída oferece várias vantagens.
Integridade de Dados: O Git usa uma estrutura de dados chamada 'snapshot' que garante a integridade do código.
Flexibilidade: O Git suporta milhares de ramificações paralelas e a fusão entre elas é uma operação fundamental.
No próximo capítulo, vamos mergulhar no mundo do GitHub e ver como ele se tornou uma plataforma dominante para hospedagem de projetos baseados em Git.