-
1. Primeiros Passos
- 1.1 Sobre Controle de Versão
- 1.2 Uma Breve História do Git
- 1.3 O que é Git?
- 1.4 A Linha de Comando
- 1.5 Instalando o Git
- 1.6 Configuração inicial do Git
- 1.7 Obtendo Ajuda
- 1.8 Resumo
-
2. Fundamentos do Git
-
3. Ramificação (Branching) no Git
-
4. Git no Servidor
- 4.1 Os Protocolos
- 4.2 Colocando o Git em um Servidor
- 4.3 Gerando a sua Chave Pública SSH
- 4.4 Configurando o Servidor
- 4.5 Git Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Opções de Hospedagem de Terceiros
- 4.10 Resumo
-
5. Git Distribuído
-
6. GitHub
-
7. Ferramentas do Git
- 7.1 Seleção de Revisão
- 7.2 Área de Stage Interativa
- 7.3 Fazendo Stash e Limpando
- 7.4 Assinando Seu Trabalho
- 7.5 Pesquisando (Searching)
- 7.6 Reescrevendo o Histórico
- 7.7 Reset Desmistificado
- 7.8 Merging Avançado
- 7.9 Rerere
- 7.10 Depurando com Git
- 7.11 Submódulos
- 7.12 Empacotando (Bundling)
- 7.13 Substituir (Replace)
- 7.14 Armazenamento de Credenciais
- 7.15 Resumo
-
8. Customizando o Git
- 8.1 Configuração do Git
- 8.2 Atributos do Git
- 8.3 Hooks do Git
- 8.4 Uma Política de Exemplo Imposta pelo Git
- 8.5 Resumo
-
9. Git e Outros Sistemas
- 9.1 Git como Cliente
- 9.2 Migrando para o Git
- 9.3 Resumo
-
10. Git Internals (Por Dentro do Git)
- 10.1 Encanamento e Porcelana (Plumbing and Porcelain)
- 10.2 Objetos do Git
- 10.3 Referências do Git
- 10.4 Arquivos de pacote (Packfiles)
- 10.5 Refspec
- 10.6 Protocolos de Transferência
- 10.7 Manutenção e Recuperação de Dados
- 10.8 Variáveis de Ambiente
- 10.9 Resumo
-
A1. Appendix A: O Git em Outros Ambientes
- A1.1 Interfaces Gráficas
- A1.2 Git no Visual Studio
- A1.3 Git no Visual Studio Code
- A1.4 Git no IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
- A1.5 Git no Sublime Text
- A1.6 Git no Bash
- A1.7 Git no Zsh
- A1.8 Git no PowerShell
- A1.9 Resumo
-
A2. Appendix B: Incorporando o Git nos seus Aplicativos
- A2.1 Linha de Comando do Git
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Appendix C: Comandos do Git
- A3.1 Configuração e Ajustes
- A3.2 Obtendo e Criando Projetos
- A3.3 Snapshots Básicos
- A3.4 Branches e Merges
- A3.5 Compartilhando e Atualizando Projetos
- A3.6 Inspeção e Comparação
- A3.7 Depuração
- A3.8 Patches
- A3.9 E-mail
- A3.10 Sistemas Externos
- A3.11 Administração
- A3.12 Comandos de Encanamento
A3.11 Appendix C: Comandos do Git - Administração
Administração
Se você administra um repositório Git ou precisa fazer um reparo de grande porte, o Git oferece vários comandos administrativos para ajudar.
git gc
O comando git gc executa a “garbage collection” no repositório, removendo arquivos desnecessários do banco de dados e empacotando os arquivos restantes em um formato mais eficiente.
Normalmente, esse comando é executado em segundo plano, embora você possa executá-lo manualmente se quiser. Examinamos alguns exemplos disso em Manutenção.
git fsck
O comando git fsck é usado para verificar se há problemas ou inconsistências no banco de dados interno.
Nós o usamos apenas uma vez, brevemente, em Recuperação de Dados para procurar objetos dangling.
git reflog
O comando git reflog percorre um log das posições ocupadas pelos heads dos seus branches durante o trabalho para encontrar commits que você possa ter perdido ao reescrever históricos.
Abordamos esse comando principalmente em Nomes Curtos do RefLog, onde mostramos seu uso normal e como usar git log -g para ver as mesmas informações no formato de saída de git log.
Em Recuperação de Dados, também examinamos um exemplo prático de recuperação de um branch perdido dessa maneira.
git filter-branch
O comando git filter-branch é usado para reescrever grandes quantidades de commits de acordo com determinados padrões, como remover um arquivo de todos eles ou filtrar todo o repositório até restar um único subdiretório para extrair um projeto.
Em Removendo um Arquivo de Todos os Commits, explicamos o comando e exploramos várias opções, como --commit-filter, --subdirectory-filter e --tree-filter.
Em Git-p4, nós o usamos para corrigir repositórios externos importados.