Compartilhar via


Ignorar alterações de arquivo com o Git

Azure DevOps Services | Servidor Azure DevOps | Azure DevOps Server 2022 | Azure DevOps Server 2020

Visual Studio 2019 | Visual Studio 2022

Nem todos os arquivos do projeto precisam ser acompanhados pelo Git. Exemplos de arquivos que normalmente não precisam de acompanhamento incluem arquivos temporários do seu ambiente de desenvolvimento, saídas de teste e logs.

Você pode usar vários mecanismos para informar ao Git quais arquivos em seu projeto não devem ser rastreados e garantir que o Git não relate alterações nesses arquivos. Para arquivos que o Git não rastreia, você pode usar um arquivo ou .gitignore um exclude arquivo. Para arquivos que o Git já rastreia, você pode instruir o Git a parar de rastreá-los e ignorar quaisquer alterações.

Pré-requisitos

Categoria Requirements
Acesso ao Projeto Membro de um projeto.
Permissões - Exibir código em projetos privados: pelo menos acesso básico .
- Clonar ou contribuir para o código em projetos privados: membro do grupo de segurança Colaboradores ou permissões correspondentes no projeto.
- Definir permissões de branch ou repositório: gerenciar permissões de permissões para o branch ou repositório.
- Alterar o branch padrão: editar permissões de políticas para o repositório.
- Importar um repositório: membro do grupo de segurança Administradores do Projeto ou da permissão Criar repositório no nível do projeto do Git definida como Permitir. Para obter mais informações, consulte Definir permissões de repositório Git.
Serviços Repositórios habilitados.
Ferramentas Optional. Use comandos az repos : CLI do Azure DevOps.

Observação

Em projetos públicos, os usuários com acesso ao Stakeholder têm acesso total ao Azure Repos, incluindo exibição, clonagem e contribuição para o código.

Categoria Requirements
Acesso ao Projeto Membro de um projeto.
Permissões - Exibir código: pelo menos acesso básico .
- Clonar ou contribuir com o código: membro do grupo de segurança Colaboradores ou permissões correspondentes no projeto.
Serviços Repositórios habilitados.

Usar um arquivo .gitignore

Você pode dizer ao Git para não rastrear determinados arquivos em seu projeto adicionando e configurando um arquivo .gitignore . Examine os seguintes pontos-chave:

  • Arquivos não rastreados: as entradas em um .gitignore arquivo se aplicam somente a arquivos não rastreados. Eles não impedem o Git de relatar alterações em arquivos rastreados. Os arquivos rastreados são arquivos que foram confirmados e existem no último instantâneo do Git.
  • Padrões de pesquisa de arquivo: cada linha em um .gitignore arquivo especifica um padrão de pesquisa de arquivo relativo ao caminho do .gitignore arquivo. A sintaxe .gitignore é flexível e dá suporte ao uso de curingas para especificar arquivos individuais ou múltiplos por nome, extensão e caminho. O Git corresponde .gitignore aos padrões de pesquisa com os arquivos em seu projeto para determinar quais arquivos ignorar.
  • Local: Normalmente, você adiciona um .gitignore arquivo à pasta raiz do projeto. No entanto, você pode adicionar um .gitignore arquivo a qualquer pasta de projeto para informar ao Git quais arquivos ignorar dentro dessa pasta e suas subpastas em qualquer profundidade aninhada. Para vários .gitignore arquivos, os padrões de pesquisa de arquivo que um .gitignore arquivo especifica dentro de uma pasta têm precedência sobre os padrões especificados por um .gitignore arquivo em uma pasta pai.
  • Criação: você pode criar manualmente um .gitignore arquivo e adicionar entradas de padrão de arquivo a ele. Ou você pode economizar tempo baixando um .gitignore modelo para seu ambiente de desenvolvimento no repositório gitignore do GitHub.
  • Benefícios: um dos benefícios de usar um .gitignore arquivo é que você pode confirmar alterações e compartilhá-las com outras pessoas.

Observação

O Visual Studio cria automaticamente um .gitignore arquivo para o ambiente de desenvolvimento do Visual Studio quando você cria um repositório Git.

O Visual Studio 2022 fornece uma experiência de controle de versão do Git por meio do menu Git , alterações do Git e menus de atalho no Gerenciador de Soluções. O Visual Studio 2019 versão 16.8 também oferece a interface do usuário do Git do Team Explorer . Para obter mais informações, consulte a guia Visual Studio 2019 – Team Explorer .

Na janela Alterações do Git , clique com o botão direito do mouse em qualquer arquivo alterado que você deseja que o Git ignore e selecione Ignorar este item local ou Ignorar essa extensão. Essas opções de menu não existem para arquivos rastreados.

Captura de tela das opções de menu de contexto para arquivos alterados na janela Alterações do Git no Visual Studio.

  • A opção Ignorar este item local adiciona uma nova entrada ao .gitignore arquivo e remove o arquivo selecionado da lista de arquivos alterados.
  • A opção Ignorar essa extensão adiciona uma nova entrada ao .gitignore arquivo e remove todos os arquivos com a mesma extensão que o arquivo selecionado da lista de arquivos alterados.

Qualquer opção criará um .gitignore arquivo se ele ainda não existir na pasta raiz do repositório e adicionar uma entrada a ele.

Editar um arquivo gitignore

Cada entrada no .gitignore arquivo é: um padrão de pesquisa de arquivo que especifica quais arquivos ignorar, um comentário que começa com um sinal de número (#) ou uma linha em branco (para legibilidade). A .gitignore sintaxe é flexível e dá suporte ao uso de curingas para especificar arquivos individuais ou múltiplos por nome, extensão e caminho. Todos os caminhos para padrões de pesquisa de arquivo são relativos ao .gitignore arquivo.

Aqui estão alguns exemplos de padrões comuns de pesquisa de arquivos:

# Ignore all files with the specified name.
# Scope is all repo folders.
config.json

# Ignore all files with the specified extension.
# Scope is all repo folders.
*.json

# Add an exception to prevent ignoring a file with the specified name.
# Scope is all repo folders.
!package.json

# Ignore a file with the specified name.
# Scoped to the 'logs' subfolder.
/logs/test.logfile

# Ignore all files with the specified name.
# Scoped to the 'logs' subfolder and all folders beneath it.
/logs/**/test.logfile

# Ignore all files in the 'logs' subfolder.
/logs/

Assim que você modifica um .gitignore arquivo, o Git atualiza a lista de arquivos que ele ignora.

Observação

Os usuários do Windows devem usar uma barra (/) como separador de caminho em um .gitignore arquivo, em vez de usar uma barra invertida (\). Todos os usuários devem adicionar uma barra à direita ao especificar uma pasta.

Usar um arquivo .gitignore global

Você pode designar um .gitignore arquivo como um arquivo de ignorar global que se aplica a todos os repositórios Git locais. Para fazer isso, use o comando da git config seguinte maneira:

git config core.excludesfile <gitignore file path>

Um arquivo global .gitignore ajuda a garantir que o Git não confirme determinados tipos de arquivo, como binários compilados, em qualquer repositório local. Os padrões de pesquisa de arquivo em um arquivo específico .gitignore do repositório têm precedência sobre padrões em um arquivo global .gitignore .

Usar um arquivo de exclusão

Você também pode adicionar entradas para padrões de pesquisa de arquivos ao exclude arquivo na .git/info/ pasta do repositório local. O exclude arquivo permite que o Git saiba quais arquivos não rastreados ignorar. Ele usa a mesma sintaxe para padrões de pesquisa de arquivo que um .gitignore arquivo.

As entradas em um exclude arquivo se aplicam somente a arquivos não rastreados. Eles não impedem o Git de relatar alterações em arquivos confirmados que ele já rastreia. Existe apenas um exclude arquivo por repositório.

Como o Git não confirma ou envia por push o exclude arquivo, você pode usá-lo com segurança para ignorar arquivos em seu sistema local sem afetar ninguém.

Usar o git update-index para ignorar as alterações

Às vezes, é conveniente parar temporariamente de rastrear um arquivo de repositório local e fazer com que o Git ignore as alterações no arquivo. Por exemplo, talvez você queira personalizar um arquivo de configurações para seu ambiente de desenvolvimento sem o risco de confirmar suas alterações. Para fazer isso, você pode executar o git update-index comando com o skip-worktree sinalizador:

git update-index --skip-worktree <file path>

Para retomar o acompanhamento, execute o git update-index comando com o --no-skip-worktree sinalizador.

Ou, você pode parar temporariamente de rastrear um arquivo e fazer com que o Git ignore as alterações no arquivo usando o git update-index comando com o assume-unchanged sinalizador. Essa opção é menos eficaz do que o skip-worktree sinalizador, pois uma operação Git pull que altera o conteúdo do arquivo pode reverter o assume-unchanged sinalizador.

git update-index --assume-unchanged <file path>

Para retomar o acompanhamento, execute o git update-index comando com o --no-assume-unchanged sinalizador.

Usar o git rm para ignorar as alterações

As entradas em um arquivo ou em .gitignore um exclude arquivo não têm efeito sobre os arquivos que o Git já rastreia. O Git rastreia os arquivos confirmados anteriormente. Para remover permanentemente um arquivo do instantâneo do Git para que o Git não o acompanhe mais, mas sem excluí-lo do sistema de arquivos, execute os seguintes comandos:

git rm --cached <file path>
git commit <some message>

Em seguida, use uma .gitignore entrada ou exclude arquivo para impedir que o Git reporte alterações ao arquivo.

Próximas etapas