
O Git é um Software de Controle de Versão onde os programadores trabalham de forma colaborativa. Geralmente existe um Repositório Remoto (na nuvem, como o GitHub), e cada programador possui em sua máquina um Repositório Local. O Git permite fazer alterações, criar históricos e mesclar códigos de forma segura.
Software de Controle de Versão: Um sistema de versionamento (VCS - Version Control System) é um software que gerencia as alterações em arquivos ao longo do tempo. Ele permite que você recupere versões específicas, compare alterações e veja quem modificou o quê.
Vale salientar que o Git tem algumas vantagens fundamentais para quem o escolhe. São elas:
- Criação de linhas do tempo alternativas para testes ou novas funcionalidades, tecnicamente chamadas de "branches".
- Capacidade de desfazer erros graves, voltando para uma versão estável anterior.
- Trabalho em equipe eficiente, onde cada um trabalha no seu Repositório Local e sincroniza com o Repositório Remoto (GitHub).
Usar um Software de Versionamento é indispensável. Além da organização, ele oferece segurança jurídica e técnica, permitindo saber exatamente quem alterou cada linha de código e quando isso aconteceu.

Todo software passa por versões. Pense no Windows, Android ou iOS: eles recebem atualizações constantes. Os desenvolvedores usam Git para garantir que uma nova funcionalidade não quebre o que já estava funcionando.
Atenção: Neste curso, vamos focar no uso do Terminal (Git Bash). Embora existam interfaces gráficas (como GitHub Desktop), o mercado de trabalho exige o domínio dos comandos via terminal, pois isso dá controle total sobre o que está acontecendo no seu projeto.
O Git trabalha com um sistema de Fluxo Distribuído. A ideia é ter um Repositório Remoto (como o GitHub) e diversos Repositórios Locais (as máquinas dos desenvolvedores). Quando um programador termina uma tarefa, ele salva localmente (commit) e depois envia para a nuvem (push). Se houver conflitos com o trabalho de outro colega, o Git ajuda a resolver.

Antigamente, usava-se o Fluxo Centralizado, onde todos dependiam de uma conexão constante com o servidor para trabalhar. O Git revolucionou isso ao permitir que você trabalhe offline e sincronize apenas quando necessário.

Abaixo veja uma lista histórica de outros softwares de versionamento:
| Fluxo de Trabalho Centralizado | Fluxo de Trabalho Distribuido |
| 1. CA Software Change Manager | 1. Mercurial |
| 2. Source Code Control System | 2. Bazaar |
| 3. Panvalet | 3. Code Co-Op |
| 4. Concurrent Version System | 4. GNU Arch |
| 5. Apache Subversion | 5. Monotone |
| 6. ClearCase | 6. Fossil |
| 7. Visual SourceSafe | 7. BitKeeper |
| 8. Perforce | 8. Git (Padrão de Mercado) |
Agora vamos conhecer os comandos essenciais que utilizaremos no terminal:
| Comandos Essenciais do Git |
|---|
| git clone: Baixa um repositório completo da nuvem (GitHub) para a sua máquina, criando uma cópia exata com todo o histórico. |
| git branch: Gerencia as ramificações. A branch principal moderna é chamada de main (antigamente chamada de master). |
| git checkout / switch: Comandos usados para trocar de branch (alternar entre linhas do tempo do projeto). |
| git add: Prepara os arquivos modificados para serem salvos. É como colocar os atores no palco antes da foto. |
| git commit: Salva definitivamente a versão no histórico local. É o "checkpoint" do seu jogo. |
| git restore / reset: Comandos usados para desfazer alterações e corrigir erros antes ou depois de salvar. |
| git pull: Atualiza seu repositório local com as novidades que estão na nuvem (GitHub). |
| git push: Envia seus commits locais para o servidor remoto (GitHub). É aqui que o mundo vê seu código. |
Veja abaixo ilustrações dos conceitos. No decorrer do curso, vamos praticar cada um desses comandos diretamente no Terminal para garantir o aprendizado real.
Conceito de Clone: Trazendo o projeto para seu computador.
Conceito de Branch: Criando realidades paralelas para trabalhar seguro.
Conceito de Commit: Salvando a versão no histórico.
Agora que você já entende a base do Git, vamos para a próxima etapa: conhecer a plataforma que conecta desenvolvedores do mundo todo.
Na próxima etapa, você vai descobrir o que é o GitHub e como ele pode ser um excelente aliado para destacar sua carreira profissional.
