LogoLogo
  • Git e GitHub para Humanos
  • Sumário
  • 1. Antes de Começar
    • 1.1 Este livro é para você?
    • 1.2 A razão por trás deste livro
    • 1.3 Visão geral
    • 1.4 Sobre o GitHub
    • 1.5 Sobre a Cumbuca Dev
    • 1.6 O maravilhoso mundo do open source
    • 1.7 Mapa do livro
    • 1.8 Glossário: capítulo 1
  • 2. Fundamentos de Controle de Versão e Git
    • 2.1 Introdução a sistemas de controle de versão
      • 2.1.1 Sistemas de controle de versão centralizados
      • 2.1.2 Sistemas de controle de versão distribuídos
    • 2.2 Introdução ao Git
    • 2.3 Conceitos Fundamentais do Git
      • 2.3.1 Repositório
      • 2.3.2 Commit
      • 2.3.3 Branch
      • 2.3.4 Merge
    • 2.4 Instalando o Git
      • 2.4.1 Instalando no Linux
      • 2.4.2 Instalando no macOS
      • 2.4.3 Instalando no Windows
    • 2.5 Interagindo com o Git
    • 2.6 O Comando Git
    • 2.7 Inicializando de um Repositório Local
    • 2.8 Configurando de um Repositório Local
    • 2.9 Links Úteis: Capítulo 2
    • 2.10 Glossário: Capítulo 2
  • 3. Operações Locais Básicas no Git
    • 3.1 Explorando Operações Locais do Git
    • 3.2 Salvando Alterações Localmente
      • 3.2.1 Adicionando Arquivos ao Controle de Versão via `git add`
      • 3.2.2 Verificando o Estado do Repositório via `git status`
      • 3.2.3 Criando Commits via `git commit`
      • 3.2.4 Visualizando o Histórico do Repositório via `git log`
      • 3.2.5 Comparando Alterações via `git diff`
      • 3.2.6 Unindo os Pontos
      • 3.2.7 Exemplo Prático
    • 3.3 Trabalhando com Branches Localmente
      • 3.3.1 Gerenciando Branches via `git branch`
      • 3.3.2 Alternando Entre Branches via `git switch`
      • 3.3.3 Mesclando Branches via `git merge`
        • 3.3.3.1 Resolvendo Conflitos de Merge
      • 3.3.4 Unindo os Pontos
      • 3.3.5 Exemplo Prático
    • 3.4 Links Úteis: Capítulo 3
    • 3.5 Glossário: Capítulo 3
  • 4. Ajuste de Mudanças Locais no Git
    • 4.1 Desfazendo Alterações Localmente
      • 4.1.1 Desfazendo Alterações Antes do Commit
      • 4.1.2 Desfazendo Commits
      • 4.1.3 Alterando o Último Commit via `git commit --amend`
      • 4.1.4 Unindo os Pontos
      • 4.1.5 Exemplos Práticos
    • 4.2 Ignorando e Removendo Arquivos do Rastreamento Local
      • 4.2.1 Ignorando Arquivos do Rastreamento Utilizando o arquivo .gitignore
      • 4.2.2 Removendo Arquivos do Rastreamento via `git rm`
    • 4.3 Links Úteis: Capítulo 4
    • 4.4 Glossário: Capítulo 4
  • 5. Introdução ao GitHub
    • 5.1 Qual a diferença entre Git e GitHub?
    • 5.2 Grandes Projetos Abertos no GitHub
    • 5.3 Recursos do GitHub
    • 5.4 Idioma Suportado no GitHub
    • 5.5 Contas no GitHub
      • 5.5.1 Conta Pessoal
      • 5.5.2 Conta de Organização
      • 5.5.3 Conta Corporativa
      • 5.5.4 Unindo os Pontos
    • 5.6 Planos do GitHub
    • 5.7 Criando uma Conta Pessoal no GitHub
    • 5.8 Explorando a Interface do GitHub
      • 5.8.1 Página Principal (Home)
      • 5.8.2 Página de Notificações (Notifications)
      • 5.8.3 Página de Configurações (Settings)
    • 5.9 Links Úteis: Capítulo 5
    • 5.10 Glossário: Capítulo 5
  • 6. Repositórios no GitHub
    • 6.1 O quê é um Repositório no GitHub?
    • 6.2 Criando um Repositório no GitHub
    • 6.3 Página Principal de um Repositório: Aba Code
      • 6.3.1 Editando um Arquivo em um Repositório no GitHub
      • 6.3.2 Explorando o Histórico de Commits de um Repositório no GitHub
      • 6.3.3 Editando Detalhes de um Repositório no GitHub
      • 6.3.4 Explorando um Repositório Ativo em Uso
    • 6.4 Página de Configurações de um Repositório: Aba Settings
      • 6.4.1 Gerenciando Configurações Gerais de um Repositório no GitHub: Menu General
      • 6.4.2 Gerenciando Configurações de Colaboração de um Repositório no GitHub: Menu Collaborators
      • 6.4.3 Explorando Configurações de um Repositório no GitHub na Prática
    • 6.5 Links Úteis: Capítulo 6
    • 6.6 Glossário: Capítulo 6
  • 7. Documentação de Projetos
    • 7.1 O quê é Documentação de Projeto?
    • 7.2 Explorando a Linguagem de Marcação Markdown
    • 7.3 Criando uma Página de Apresentação no GitHub
    • 7.4 Links Úteis: Capítulo 7
    • 7.5 Glossário: Capítulo 7
  • 8. Issues no GitHub
    • 8.1 O quê é GitHub Issues?
    • 8.2 Criando uma Issue no GitHub
    • 8.3 Explorando a Página de uma Issue no GitHub
    • 8.4 Atribuindo uma Issue no GitHub
    • 8.5 Categorizando Issues de um Repositório através de Labels no GitHub
      • 8.5.1 Gerenciando Labels de um Repositório no GitHub
    • 8.6 Página de Issues de um Repositório no GitHub: Aba Issues
    • 8.7 Explorando Issues no Mundo Real
    • 8.8 Links Úteis: Capítulo 8
    • 8.9 Glossário: Capítulo 8
  • 9. Git Remoto
    • 9.1 Explorando Operações Remotas do Git
    • 9.2 Interagindo com o Repositório Remoto Central no Git
      • 9.2.1 Clonando um Repositório Remoto via `git clone`
      • 9.2.2 Buscar Atualizações de um Repositório Remoto via `git fetch`
      • 9.2.3 Enviando Mudanças Locais para o Repositório Remoto via `git push`
      • 9.2.4 Sincronizando o Repositório Local com o Remoto via `git pull`
      • 9.2.5 Unindo os Pontos
      • 9.2.6 Exemplo
    • 9.3 Interagindo com o Repositório Remoto hello-world
      • 9.3.1 Conectando-se ao GitHub via SSH
      • 9.3.2 Clonando o Repositório hello-world
      • 9.3.3 Alterando hello-world Localmente
        • 9.3.3.1 Editor de Código
        • 9.3.3.2 Editando README.md
        • 9.3.3.3 Salvando Alterações no Controle de Versão Local
      • 9.3.4 Enviando Alterações para o Repositório Remoto
    • 9.4 Links Úteis: Capítulo 9
    • 9.5 Glossário: Capítulo 9
  • 10. Pull Requests no GitHub
    • 10.1 O quê é um Pull Requests no GitHub?
    • 10.2 Entendendo as Propriedades de um Pull Request no GitHub
      • 10.2.1 Branches de Origem e de Destino de um Pull Request
      • 10.2.2 Título de um Pull Request
      • 10.2.3 Descrição de um Pull Request
      • 10.2.4 Modificações de um Pull Request
      • 10.2.5 Pessoas Revisoras de um Pull Request
      • 10.2.6 Labels de um Pull Request
    • 10.3 Criando um Pull Request no GitHub
    • 10.4 Página de um Pull Request no GitHub
      • 10.4.1 Aba Conversation
      • 10.4.2 Aba Commits
      • 10.4.3 Aba Checks
      • 10.4.4 Aba Files Changed
    • 10.5 Página de Pull Requests de um Repositório no GitHub: Aba Pull Requests
    • 10.6 Recebendo Revisões em um Pull Request no GitHub
      • 10.6.1 Boas Práticas
      • 10.6.2 Exemplo Prático
        • 10.6.2.1 Adicionando Conta Colaboradora
        • 10.6.2.2 Solicitando Revisão de Pull Request
        • 10.6.2.3 Lidando com o Feedback
    • 10.7 Mesclando um Pull Request no GitHub
      • 10.7.1 Exemplo Prático
    • 10.8 Atualizando um Repositório Local Após Mesclagem
    • 10.9 Explorando Pull Requests no Mundo Real
    • 10.10 Links Úteis: Capítulo 10
    • 10.11 Glossário: Capítulo 10
  • 11. Fluxo de Trabalho
    • 11.1 Fork no GitHub
      • Fork
    • 11.2 Forks e Pull Requests
      • 11.2.1 Criando um Fork no GitHub
      • 11.2.2 Clonando um Fork
      • 11.2.3 Realizando Alterações Localmente
      • 11.2.4 Enviando Alterações Locais para o Fork Remoto
      • 11.2.5 Criando um Pull Request a partir de um Fork no GitHub
      • 11.2.6 Sincronizando um Fork no GitHub
      • 11.2.7 Revisão, Mesclagem e Atualizações Pós-mesclagem
    • 11.3 Fluxo de Trabalho
  • 11.4 Links Úteis - Capítulo 11
  • 11.5 Glossário - Capítulo 11
  • 12. O Caminho Continua
    • 12.1 Conhecendo Ferramentas Adicionais
      • 12.1.1 Indicação: Jogo Oh My Git
    • 12.2 Explorando Projetos Open Source
    • 12.3 Crescendo e Colaborando em Comunidades
    • 12.4 Desafio: GitCaos 🔥
    • 12.5 Links Úteis - Capítulo 12
    • 12.6 Glossário Completo: Git e GitHub para Humanos
Fornecido por GitBook
Nesta página
  • Como Funciona
  • Estrutura
  • Ignorar arquivos específicos:
  • Ignorar todos os arquivos em um diretório:
  • Ignorar arquivos com uma extensão específica:
  • Ignorar arquivos em todos os diretórios com um nome específico:
  • Ignorar um diretório inteiro:
  • Exemplo de Uso
  • Verificar os arquivos a serem ignorados:
  • Criar o arquivo .gitignore
  • Listar os arquivos a serem ignorados
  • Salvar o arquivo
  • Verificar o Status do Repositório
  • Adicionar o arquivo .gitignore:
  • Fazer commit do arquivo .gitignore
  • Verificar se está funcionando
  • Recomendações
  • gitignore.io
  • github.com/github/gitignore

Isto foi útil?

Editar no GitHub
Exportar como PDF
  1. 4. Ajuste de Mudanças Locais no Git
  2. 4.2 Ignorando e Removendo Arquivos do Rastreamento Local

4.2.1 Ignorando Arquivos do Rastreamento Utilizando o arquivo .gitignore

Como Funciona

É muito comum, você pode ter arquivos que não deseja rastrear no controle de versão do Git. Isso inclui tipos específicos de arquivos que são criados durante o desenvolvimento de software ou que contêm informações sensíveis.

Por exemplo, durante a compilação de um programa, podem ser gerados arquivos executáveis (.exe no Windows) ou arquivos intermediários que são necessários apenas temporariamente. Esses arquivos não são essenciais para o controle de versão do seu projeto e podem ocupar espaço desnecessário no repositório Git.

Além disso, ferramentas e programas frequentemente criam arquivos temporários, como aqueles com extensões .tmp ou .temp, para armazenar informações transitórias que não precisam ser preservadas no histórico de versão.

Por fim, é crucial evitar incluir no controle de versão arquivos que contenham informações sensíveis, como senhas, chaves de API, tokens de acesso ou outros dados confidenciais. Esses arquivos podem comprometer a segurança do seu projeto se forem acessíveis a outras pessoas.

Para ignorar esses arquivos, você precisa criar um arquivo chamado .gitignore no diretório raiz do seu projeto e listar nele os nomes dos arquivos e diretórios que deseja ignorar, um por linha. Em seguida, adicione e faça o commit do arquivo para que ele funcione corretamente.

Quando você adiciona um arquivo ou diretório ao .gitignore, o Git não rastreará mais as alterações nesses arquivos. Isso significa que eles não serão exibidos como "untracked" quando você executar git status, e você não será solicitado a adicioná-los ao commit.

Com isso, um arquivo podem estar em um de três estados (agora adicionando o estado ignored):

  1. tracked (rastreado): um arquivo que já foi preparado ou confirmado;

  2. untracked (não rastreado): um arquivo que não foi preparado nem confirmado; ou

  3. ignored (ignorado): um arquivo que o Git foi forçado a ignorar.

Estrutura

Ignorar arquivos específicos:

arquivo.txt
diretorio/arquivo2.txt

Isso ignora: - o arquivo arquivo.txt e - o arquivo arquivo2.txt dentro do diretório diretorio.

Ignorar todos os arquivos em um diretório:

diretorio/*

Isso ignora todos os arquivos dentro do diretório diretorio, mas não o diretório em si. Subdiretórios dentro de diretorio não serão ignorados, por exemplo.

Ignorar arquivos com uma extensão específica:

*.log

Isso ignora todos os arquivos com a extensão .log.

Ignorar arquivos em todos os diretórios com um nome específico:

*/arquivo.log

Isso ignora todos os arquivos chamados arquivo.log em qualquer subdiretório.

Ignorar um diretório inteiro:

diretorio/

Isso ignora completamente o diretório chamado diretorio, incluindo todos os arquivos e subdiretórios dentro dele.

Esses são apenas alguns exemplos básicos de como estruturar um arquivo .gitignore. Você pode adicionar mais linhas conforme necessário para personalizar quais arquivos e diretórios deseja ignorar no seu repositório Git.

Exemplo de Uso

Verificar os arquivos a serem ignorados:

Antes de criar o arquivo .gitignore, é útil verificar quais arquivos estão atualmente listados no git status e que você deseja ignorar posteriormente. Por exemplo, se você tem arquivos de compilação com a extensão .exe e arquivos temporários com a extensão .tmp que deseja ignorar, execute git status para ver se esses arquivos estão listados como modificados ou não rastreados. O output do git status pode mostrar algo semelhante a:

On branch main
Untracked files:
  (use "git add <file>..." to include in what will be committed)
	arquivo1.exe
	arquivo2.tmp

nothing added to commit but untracked files present (use "git add" to track)

Isso mostra que os arquivos arquivo1.exe e arquivo2.tmp estão atualmente untracked. Para que eles não apareçam mais e sejam desconsiderados, você precisa ignorá-los.

Criar o arquivo .gitignore

Você abre o seu editor de texto preferido e cria um novo arquivo chamado .gitignore.

Listar os arquivos a serem ignorados

No arquivo .gitignore, lista os nomes dos arquivos e diretórios que você deseja ignorar, um por linha. Por exemplo, você quer ignorar todos os arquivos de compilação com a extensão .exe e todos os arquivos temporários com a extensão .tmp. O arquivo .gitignore ficaria assim:

*.exe
*.tmp

Salvar o arquivo

Após adicionar as regras de ignorar ao arquivo .gitignore, você salva o arquivo.

Verificar o Status do Repositório

Você usa git status para ver que agora apenas o arquivo .gitignore aparece como untracked. Os arquivos arquivo1.exe e arquivo2 já não aparecem mais.

On branch main
Untracked files:
  (use "git add <file>..." to include in what will be committed)
	.gitignore

nothing added to commit but untracked files present (use "git add" to track)

Adicionar o arquivo .gitignore:

Agora, para salvar as mudanças, adicione o arquivo .gitignore ao controle de versão do Git usando o comando git add .gitignore.

Fazer commit do arquivo .gitignore

Faça o commit com a mensagem apropriada, como git commit -m "Adicionar arquivo .gitignore".

Verificar se está funcionando

Por fim, verifique se o Git está ignorando os arquivos listados no .gitignore executando git status. Você não deve mais ver esses arquivos na lista de arquivos a serem commitados. O output esperado do git status deve mostrar algo semelhante a:

On branch main
nothing to commit, working tree clean

Isso indica que não há alterações pendentes para commit e que os arquivos listados no .gitignore estão sendo ignorados pelo Git.

Ao executar git log, o output deve ser algo parecido com isso:

commit 59430c481a8f4429436dfcd5700ddd373ad77fe9
Author: Cumbuca Dev <cumbucadev@gmail.com>
Date:   Wed Jun 12 22:29:35 2024 +0200

    Adicionar arquivo .gitignore

Recomendações

gitignore.io

Para facilitar a criação de um arquivo .gitignore adequado ao seu projeto, recomendamos o uso da ferramenta online gitignore.io. Ela permite que você selecione rapidamente as linguagens de programação, frameworks, ambientes de desenvolvimento e outras especificações do seu projeto, gerando automaticamente um arquivo .gitignore personalizado.

Como a ferramenta funciona

  1. Digitar na Área de Texto: Acesse a ferramenta e digite na área de texto as tecnologias que está usando no seu projeto (ex: python, linux, Visual Studio Code). Conforme você digita, a ferramenta sugere opções relevantes para você selecionar.

  2. Geração Automática: Após selecionar as opções relevantes, a ferramenta gera automaticamente um arquivo .gitignore contendo regras apropriadas para ignorar arquivos específicos dessas tecnologias.

  3. Download: Você pode então baixar o arquivo .gitignore gerado e adicioná-lo ao diretório raiz do seu projeto.

github.com/github/gitignore

Outra opção também é utilizar como base o repositório de arquivos .gitignore do GitHub, acessível em github.com/github/gitignore.

Visite o repositório e explore os diferentes arquivos .gitignore disponíveis para várias linguagens de programação, frameworks e ferramentas. Escolha o arquivo .gitignore que melhor se adequa ao seu projeto. Você pode copiar o conteúdo do arquivo selecionado e personalizá-lo conforme necessário para atender às especificidades do seu projeto. Adicione o arquivo .gitignore ao diretório raiz do seu projeto.

Esta é uma explicação simplificada para fins didáticos. Para explorar todas as possibilidades do arquivo .gitignore, consulte a documentação oficial.

Anterior4.2 Ignorando e Removendo Arquivos do Rastreamento LocalPróximo4.2.2 Removendo Arquivos do Rastreamento via `git rm`

Atualizado há 5 dias

Isto foi útil?