Entendendo GIT (não é um tutorial!)

Fabio Akita2020-02-051 hora e 3 minutosAvançado
GitHistória da ComputaçãoVersionamentoLinuxOpen SourceArquitetura de SoftwareAlgoritmos

Sobre este curso

Mais do que um tutorial de comandos, este vídeo é uma aula profunda sobre a história, a filosofia e o funcionamento interno do Git, explicando por que ele se tornou o padrão da indústria.

Neste vídeo, Fábio Akita foge dos tutoriais básicos de "como dar commit e push" para mergulhar na engenharia e na história por trás do Git. Ele explora o contexto de desenvolvimento de software antes do Git (CVS, Subversion, SourceSafe), a criação da ferramenta por Linus Torvalds para o kernel do Linux, e explica detalhadamente como o Git funciona "debaixo do capô" (objetos, blobs, trees, commits, SHA-1). É um conteúdo essencial para quem quer entender não apenas como usar a ferramenta, mas por que ela funciona dessa maneira e por que revolucionou o desenvolvimento colaborativo.

O que você vai aprender

  • História do controle de versão: do caos manual, passando por CVS e SVN, até o BitKeeper e o Git.
  • A filosofia de sistemas de versão centralizados vs. distribuídos.
  • Como o Git armazena dados internamente: Blobs, Trees e Commits.
  • O algoritmo de hash SHA-1 e a integridade dos dados.
  • A diferença entre comandos "Porcelain" (alto nível) e "Plumbing" (baixo nível).
  • Por que o merge do Git (3-way merge) é superior ao de sistemas antigos.
  • O conceito de DAG (Directed Acyclic Graph) aplicado ao histórico de commits.
  • Curiosidades sobre compressão de dados (Huffman, LZ77, Deflate) e algoritmos de diff.

Pré-requisitos

  • Conhecimento básico de uso do Git (add, commit, push).
  • Noções de linha de comando (terminal/bash).
  • Interesse em estruturas de dados e algoritmos ajuda a aproveitar melhor a parte técnica.

Para quem é este curso

Desenvolvedores de qualquer nível que já usam Git mas querem sair do "automático" e compreender a arquitetura da ferramenta, bem como entusiastas da história da computação e engenharia de software.