-
1. Primeiros passos
- 1.1 Sobre Controle de Versão
- 1.2 Uma Breve História do Git
- 1.3 Noções Básicas de Git
- 1.4 Instalando Git
- 1.5 Configuração Inicial do Git
- 1.6 Obtendo Ajuda
- 1.7 Resumo
-
2. Git Essencial
-
3. Ramificação (Branching) no Git
- 3.1 O que é um Branch
- 3.2 Básico de Branch e Merge
- 3.3 Gerenciamento de Branches
- 3.4 Fluxos de Trabalho com Branches
- 3.5 Branches Remotos
- 3.6 Rebasing
- 3.7 Sumário
-
4. Git no Servidor
- 4.1 Os Protocolos
- 4.2 Configurando Git no Servidor
- 4.3 Gerando Sua Chave Pública SSH
- 4.4 Configurando o Servidor
- 4.5 Acesso Público
- 4.6 GitWeb
- 4.7 Gitosis
- 4.8 Gitolite
- 4.9 Serviço Git
- 4.10 Git Hospedado
- 4.11 Sumário
-
5. Git Distribuído
-
6. Ferramentas do Git
- 6.1 Seleção de Revisão
- 6.2 Área de Seleção Interativa
- 6.3 Fazendo Stash
- 6.4 Reescrevendo o Histórico
- 6.5 Depurando com Git
- 6.6 Submódulos
- 6.7 Merge de Sub-árvore (Subtree Merging)
- 6.8 Sumário
-
7. Customizando o Git
- 7.1 Configuração do Git
- 7.2 Atributos Git
- 7.3 Hooks do Git
- 7.4 Um exemplo de Política Git Forçada
- 7.5 Sumário
-
8. Git e Outros Sistemas
- 8.1 Git e Subversion
- 8.2 Migrando para o Git
- 8.3 Resumo
-
9. Git Internamente
1.2 Primeiros passos - Uma Breve História do Git
Uma Breve História do Git
Assim como muitas coisas boas na vida, o Git começou com um tanto de destruição criativa e controvérsia acirrada. O kernel (núcleo) do Linux é um projeto de software de código aberto de escopo razoavelmente grande. Durante a maior parte do período de manutenção do kernel do Linux (1991-2002), as mudanças no software eram repassadas como patches e arquivos compactados. Em 2002, o projeto do kernel do Linux começou a usar um sistema DVCS proprietário chamado BitKeeper.
Em 2005, o relacionamento entre a comunidade que desenvolvia o kernel e a empresa que desenvolvia comercialmente o BitKeeper se desfez, e o status de isento-de-pagamento da ferramenta foi revogado. Isso levou a comunidade de desenvolvedores do Linux (em particular Linus Torvalds, o criador do Linux) a desenvolver sua própria ferramenta baseada nas lições que eles aprenderam ao usar o BitKeeper. Alguns dos objetivos do novo sistema eram:
- Velocidade
- Design simples
- Suporte robusto a desenvolvimento não linear (milhares de branches paralelos)
- Totalmente distribuído
- Capaz de lidar eficientemente com grandes projetos como o kernel do Linux (velocidade e volume de dados)
Desde sua concepção em 2005, o Git evoluiu e amadureceu a ponto de ser um sistema fácil de usar e ainda assim mantém essas qualidades iniciais. É incrivelmente rápido, bastante eficiente com grandes projetos e possui um sistema impressionante de branching para desenvolvimento não-linear (Veja no Capítulo 3).