<aside> <img src="notion://custom_emoji/6a9f75af-b090-4ac1-9370-a797e429cd85/12c39bc1-c32f-80fa-b777-007a474b0a18" alt="notion://custom_emoji/6a9f75af-b090-4ac1-9370-a797e429cd85/12c39bc1-c32f-80fa-b777-007a474b0a18" width="40px" />
DescriçãoGit é um sistema de controle de versão distribuído que permite aos desenvolvedores rastrear alterações no código-fonte ao longo do tempo. Ele é amplamente utilizado para colaborar em projetos de software, permitindo que várias pessoas trabalhem simultaneamente em um mesmo código sem conflitos. Além de ajudar a manter um histórico detalhado das alterações, facilitando a recuperação de versões anteriores e possibilitando a criação de ramificações (branches) para experimentar novas ideias sem afetar a versão principal do projeto. Com Git, a gestão do desenvolvimento se torna mais eficiente e organizada.
Procura por Github? acesse:
</aside>
Fundamentos do GitO que é Git?O Git é um Sistema de Controle de Versão Distribuído (DVCS).
Sistema de Controle de Versão (VCS): É um software que rastreia e gere alterações em ficheiros ao longo do tempo. Ele permite que você reveja versões anteriores, compare alterações e reverta para estados passados.
Distribuído (DVCS): Diferente de sistemas centralizados (como o SVN), onde há um único servidor central, o Git é distribuído. Cada desenvolvedor tem uma cópia completa do repositório em sua máquina local, incluindo todo o histórico. Isso torna o Git incrivelmente rápido e permite o trabalho offline.
Conceitos ChaveRepositório (Repo): É a "base de dados" do Git, contida na pasta .git, que armazena todo o histórico, objetos e metadados do seu projeto.
Commit (Snapshot): Um "commit" é um instantâneo (snapshot) do estado do seu projeto num determinado ponto no tempo. O Git não armazena diferenças (diffs); ele armazena o conteúdo completo dos ficheiros (de forma otimizada).
SHA-1 (Hash): Cada commit, ficheiro e objeto no Git é identificado por um hash criptográfico único de 40 caracteres (ex: a1b2c3d4...). É isso que garante a integridade do histórico; é impossível alterar um commit passado sem alterar seu hash (e, por consequência, o hash de todos os commits seguintes).
Branch (Ramo): Um branch é simplesmente um ponteiro leve e móvel para um commit específico. É uma forma de divergir do fluxo principal de desenvolvimento (main) para trabalhar numa nova funcionalidade ou correção sem afetar a linha principal.
HEAD: É um ponteiro especial que aponta para o branch em que você está atualmente. (Ou, em casos avançados, para um commit específico, conhecido como "detached HEAD").
As Três ÁreasO Git divide seu trabalho em três "áreas" lógicas na sua máquina local: