-
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.9 Appendix C: Comandos do Git - E-mail
Muitos projetos Git, incluindo o próprio Git, são mantidos inteiramente por meio de listas de discussão. O Git possui várias ferramentas integradas que facilitam esse processo, desde a geração de patches que você pode enviar facilmente por e-mail até a aplicação desses patches a partir de uma caixa de correio.
git apply
O comando git apply aplica um patch criado com o comando git diff ou até mesmo com o GNU diff.
Ele é semelhante ao que o comando patch faria, com algumas pequenas diferenças.
Em Aplicando Patches a partir de E-mail, demonstramos seu uso e as circunstâncias em que ele pode ser apropriado.
git am
O comando git am é usado para aplicar patches provenientes de uma caixa de entrada de e-mail, especificamente uma no formato mbox.
Isso é útil para receber patches por e-mail e aplicá-los facilmente ao projeto.
Em Aplicando um Patch com am, abordamos o uso e o fluxo de trabalho de git am, incluindo as opções --resolved, -i e -3.
Também há vários hooks que você pode usar para ajudar no fluxo de trabalho de git am, todos abordados em Hooks do Fluxo de Trabalho de E-mail.
Em Notificações por E-mail, também o usamos para aplicar alterações de um Pull Request do GitHub formatadas como patch.
git format-patch
O comando git format-patch é usado para gerar uma série de patches no formato mbox, devidamente formatados para envio a uma lista de discussão.
Em Projeto Público Grande, examinamos um exemplo de contribuição para um projeto usando a ferramenta git format-patch.
git imap-send
O comando git imap-send envia uma caixa de correio gerada com git format-patch para uma pasta de rascunhos IMAP.
Em Projeto Público Grande, examinamos um exemplo de contribuição para um projeto por meio do envio de patches com a ferramenta git imap-send.
git send-email
O comando git send-email é usado para enviar por e-mail patches gerados com git format-patch.
Em Projeto Público Grande, examinamos um exemplo de contribuição para um projeto por meio do envio de patches com a ferramenta git send-email.
git request-pull
O comando git request-pull é usado simplesmente para gerar um modelo de corpo de mensagem a ser enviado por e-mail a alguém.
Se você tem um branch em um servidor público e quer informar a alguém como integrar essas alterações sem enviar os patches por e-mail, pode executar esse comando e enviar a saída para a pessoa que deverá incorporar as alterações.
Em Projeto Público Bifurcado (Forked), demonstramos como usar git request-pull para gerar uma mensagem de pull.