Apresentação
Básico
- O que é Git?
- Mas o que diabos é controle de versão?
- Quais são as vantagens de utilizar um VCS?
- Quais as opções de VCS disponíveis por aí?
- História do Git
- Onde hospedar os repositórios
Instalando o Git
- Linux e Unix
- Mac
- Windows
- Configurações extras no GNU/Linux
- Configuração do Git
- Formato do arquivo de configurações
- Configurando atalhos
Trabalhando com repositórios
- Tipos de repositórios
- Criando um repositório bare
- Criando um repositório comum
- Adicionando conteúdo no seu repositório
- Estados, áreas e árvores
- Ignorando arquivos
- Adicionando conteúdo
- Registrando o conteúdo
- Configurando um editor padrão
- Verificando o log
- Identificando os commits
- Adicionando repositórios remotos
- Clonando repositórios
- Atalhos para repositórios
Branches
- Criando uma branch
- Fazendo alterações
- Desfazendo alterações
- Comparando alterações nas branches
- Listando branches
- Alternando branches
Populando o working directory
- Adicionando mais arquivos
- Adicionando arquivos interativamente
- Removendo arquivos
- Apagando arquivos e diretórios que ainda não estão em staging
Mais algumas operações em branches
- Fundindo branches
- Cancelando a fusão
- Apagando branches
Quando precisamos mais do que o trivial
Lidando com conflitos
Utilizando stash
Utilizando rebase
Organizando a casa
- Arrumando os commits
- Reorganizando os commits
Notas
- Usando notas
Tags
- Tags “leves”
- Enviando as tags para o repositório remoto
- Apagando as tags do repositório remoto
- Tags “pesadas”
- Tags assinadas
- Commits assinados
- Recuperando tags
Mais repositórios remotos
- Adicionando
- Sincronizando o conteúdo
- Comparando
- Merging, rebasing …
- Pull requests
Desfazendo as coisas
- Desfazendo com revert
- Descobrindo quem fez a arte
- Fazendo merge parcial
- Atualizando o repositório
- Atualizando o working directory com o repositório remoto
Utilizando patches
- Gerando um patch
- Aplicando um patch
- Enviando patches por e-mail
- Aplicando os patches recebidos por e-mail
Branches remotas
- Criando branches remotas
- Apagando branches remotas
Rodando seu repositório
- Algumas opções de gerenciamento de repositório
Procurando coisas erradas
Bisect
- Informando para o bisect se as coisas estão boas ou ruins
- Automatizando o bisect
Submódulos
- Atualizando o submódulo
- Atualizando o submódulo de dentro do nosso repositório
Ganchos
- Ganchos no servidor
Rerere
- O que é o rerere
- Utilizando o rerere