Configurações e preferências do Git no Visual Studio

No Visual Studio, você pode definir e exibir configurações e preferências comuns do Git, como seu nome e endereço de email, suas ferramentas de comparação e mesclagem preferenciais e muito mais. Essas configurações e preferências podem ser exibidas e configuradas na caixa de diálogo Opções na página Configurações Globais do Git (aplica-se a todos os seus repositórios) ou na página Configurações do Repositório Git (aplica-se ao repositório atual).

Você pode definir dois tipos de configurações:

  • Configurações do Git – as configurações nesta seção correspondem às configurações do Git salvas nos arquivos de configuração do Git. Essas configurações podem ser exibidas e modificadas no Visual Studio, mas são gerenciadas por arquivos de configuração do Git.
  • Configurações do Visual Studio – as configurações nesta seção definem as configurações e preferências relacionadas ao Git gerenciadas pelo Visual Studio.

Como definir as configurações

  1. Para definir as configurações do Git no Visual Studio, escolha Configurações no menu do Git de nível superior.

    O menu do Git com um texto explicativo para o comando Configurações.

  2. Escolha Configurações Globais do Git ou Configurações do Repositório Git para exibir e definir configurações de nível global ou de nível de repositório.

    O painel de navegação na caixa de diálogo Opções com um texto explicativo para as configurações do Git.

  3. Você pode definir várias configurações comuns do Git, conforme descrito nas seções a seguir deste artigo. Depois de definir as configurações desejadas, selecione OK para salvar as configurações atualizadas.

    A área de exibição da caixa de diálogo Opções com um texto explicativo para o botão OK.

Configurações do Git

Você também pode definir e verificar algumas das configurações mais comuns do Git. Você pode exibir e modificar as configurações a seguir no Visual Studio, mesmo que elas sejam gerenciadas por arquivos de configuração do Git.

Observação

As configurações do Git definidas nas Configurações Globais do Visual Studio correspondem às configurações no arquivo de configuração específico do usuário do Git, enquanto as configurações em Configurações do Repositório correspondem às configurações no arquivo de configuração específico do repositório. Para obter mais informações sobre a configuração do Git, confira o capítulo Pro Git sobre como personalizar o Git, a documentação do git-config e a referência do Git Pro nos arquivos de configuração. Para definir as configurações do Git não expostas no Visual Studio, use o comando git config para gravar um valor nos arquivos de configuração: git config [--local|--global|--system] section.key value.

Nome e email

O nome e o email fornecidos serão usados como informações de committer para qualquer commit que você fizer. Essa configuração está disponível em escopos globais e de repositório e corresponde às configurações de git config user.name e user.email.

  1. No menu Git, acesse Configurações. Para definir o nome de usuário e o email no nível global, acesse Configurações Globais do Git; para definir o nome de usuário e o email no nível do repositório, acesse Configurações do Repositório Git.

  2. Forneça o nome de usuário e o email e escolha OK para salvar.

    Painel de Configurações Globais do Git na caixa de diálogo Opções com um texto explicativo para nome de usuário e um email.

Remover os branches remotos durante o fetch

A remoção remove branches de acompanhamento locais que não existem mais remotamente e ajuda você a manter sua lista de branches limpa e atualizada. Essa configuração está disponível em escopos globais e de repositório e corresponde à configuração git config fetch.prune.

Recomendamos definir essa opção como True no nível global. As configurações válidas são, da seguinte maneira:

  • True (recomendado)
  • Falso
  • Não definido (padrão)

Veja como alterar as configurações:

  1. No menu Git, acesse Configurações. Acesse Configurações Globais do Git para configurar essa opção no nível global; acesse Configurações do Repositório Git para configurar essa opção no nível do repositório.

  2. Defina Remover branches remotos durante o fetch como Verdadeiro (recomendado). Selecione OK para salvar.

    Captura de tela que mostra 'Remover branches remotos durante o fetch' realçado e com 'Verdadeiro' selecionado na lista suspensa.

Trocar a base do branch local durante o pull

A troca de base reserva as alterações feitas por commits no branch atual que não estão no branch upstream, redefine o branch atual para o branch upstream e aplica as alterações que foram reservadas. Essa configuração está disponível em escopos globais e de repositório e corresponde à configuração git config pull.rebase. As configurações válidas são, da seguinte maneira:

  • Verdadeiro: trocar a base do branch atual na parte superior do branch upstream após o fetch.

  • Falso: mesclar o branch atual no branch upstream.

  • Não definido (padrão): a menos que especificado em outros arquivos de configuração, mescle o branch atual no branch upstream.

  • Interativo: trocar a base no modo interativo.

  • Mesclagens: trocar a base sem nivelar commits de mesclagem criados localmente.

    Observação

    No Visual Studio 2022 versão 17.2, alteramos a configuração "Preservar" para "Mesclagens" para corresponder a uma atualização recente do Git. Portanto, se você estiver usando uma versão anterior do Visual Studio com ferramentas do Git, sua interface do usuário poderá dizer "Preservar" em vez de "Mesclagens". No entanto, a funcionalidade permanece a mesma.

Veja como alterar as configurações:

  1. No menu Git, acesse Configurações. Acesse Configurações Globais do Git para configurar essa opção no nível global; acesse Configurações do Repositório Git para configurar essa opção no nível do repositório.

  2. Defina Trocar base de branch local ao efetuar pull para a configuração desejada e selecione OK para salvar.

    Captura de tela que mostra 'Trocar base de branch local ao efetuar pull' realçado e 'Mesclagens' selecionado na lista suspensa.

Não é possível configurar pull.rebase para Interativa no Visual Studio. O Visual Studio não tem suporte à troca de base interativa. Para configurar pull.rebase para usar o modo interativo, use a linha de comando.

Provedor de rede de criptografia

O provedor de rede criptográfica é uma configuração do Git no escopo global que configura qual back-end TLS/SSL usar em runtime e corresponde à configuração git config http.sslBackend. Os valores são os seguintes:

  • OpenSSL: use OpenSSL para protocolos TLS e SSL.
  • Canal Seguro: use Canal Seguro (schannel) para protocolos TLS e SSL. O Schannel é a solução nativa do Windows, acessando a Windows Credential Store, permitindo assim o gerenciamento de certificados em toda a empresa.
  • Não definido (padrão): se essa configuração não estiver definida, OpenSSL será o padrão.

Veja como alterar as configurações:

  1. No menu Git, acesse Configurações. Acesse Configurações Globais do Git para definir essa configuração.

  2. Defina Provedor de rede criptográfica com o valor desejado e selecione OK para salvar.

    Captura de tela que mostra 'Provedor de rede criptográfica' realçado com 'OpenSSL' selecionado na lista suspensa.

Auxiliar de credenciais

Quando o Visual Studio executa uma operação remota do Git, o ponto de extremidade remoto pode rejeitar a solicitação porque ela exige que as credenciais sejam fornecidas com a solicitação. Nesse momento, o Git invoca um auxiliar de credenciais, que retornará as credenciais necessárias para executar a operação e, em seguida, tentará a solicitação novamente. O auxiliar de credenciais usado corresponde à configuração git config credential.helper. Ele está disponível no escopo global com os seguintes valores:

Veja como alterar as configurações:

  1. No menu Git, acesse Configurações. Acesse Configurações Globais do Git para definir essa configuração.

  2. Defina Auxiliar de credenciais como o valor desejado e selecione OK para salvar.

    Captura de tela mostrando a configuração do auxiliar de credenciais na caixa de diálogo Opções.

Ferramentas de comparação e mesclagem

O Git mostrará conflitos de diferenças e mesclagem em suas ferramentas preferenciais. As configurações nesta seção correspondem às configurações git config diff.tool e merge.tool. Você pode configurar o Git para usar o Visual Studio como sua ferramenta de mesclagem ou comparação em Configurações Globais do Git e Configurações do Repositório Git selecionando Usar o Visual Studio. Para configurar outras ferramentas de comparação e mesclagem, use git config com a opção diff.tool ou merge.tool.

Captura de tela que mostra a seção para definir a ferramenta de comparação e de mesclagem padrão na caixa de diálogo Opções.

Arquivos Git

Você pode usar a seção Arquivos Git no escopo Configurações do Repositório Git para exibir e editar os arquivos gitignore e gitattributes para seu repositório.

Captura de tela que mostra a seção para exibir e editar os arquivos ignorar e de atributos em seu repositório.

Remotos

Você pode usar o painel Remotos em Configurações do Repositório Git para configurar os remotos para seu repositório. Essa configuração corresponde ao comando git remote e permite adicionar, editar ou remover remotos.

Captura de tela mostrando o painel Remotos do Git na caixa de diálogo Opções.

Outras configurações

Para exibir todas as outras definições de configuração do Git, você pode abrir e exibir os arquivos de configuração propriamente ditos ou pode executar git config --list para exibir as configurações.

Configurações do Visual Studio

As configurações a seguir gerenciam as preferências relacionadas ao Git no Visual Studio e são gerenciadas pelo Visual Studio em vez de arquivos de configuração do Git. Todas as configurações nesta seção são definidas na página Configurações Globais do Git.

Local padrão

O local padrão configura a pasta padrão na qual os repositórios são clonados.

Captura de tela mostrando o campo local padrão na caixa de diálogo Opções.

Fechar as soluções abertas que não estão sob o Git ao abrir um repositório

Por padrão, o Visual Studio fecha qualquer solução ou pasta aberta quando você alterna para outro repositório. Ao fazer isso, ele também poderá carregar a solução ou pasta do novo repositório com base na sua escolha entre Abrir pasta no Gerenciador de Soluções ao abrir um repositório Git e Carregar automaticamente a solução ao abrir um repositório Git. Isso mantém a consistência entre o código aberto e o repositório aberto. No entanto, se sua solução não estiver na mesma raiz de pasta que o repositório, convém manter a solução aberta ao alternar para o repositório correspondente. Você pode fazer isso com esta configuração. Os valores são os seguintes:

  • Sim: quando um repositório é aberto, a solução aberta no momento é sempre fechada

  • Não: quando um repositório é aberto, o Visual Studio executa uma verificação sobre se a solução atual está no Git. Se não estiver, a solução permanecerá aberta.

  • Sempre pergunte (padrão): quando isso estiver definido, você poderá fazer uma escolha por meio de uma caixa de diálogo por repositório aberto, quer queira manter a solução atual aberta ou fechá-la.

    Captura de tela mostrando a configuração fechar solução na caixa de diálogo Opções.

Habilitar o download de imagens de autor de fontes de terceiros

Habilitar o download de imagens de autor de fontes de terceiros é uma configuração específica do Visual Studio no escopo global. Quando marcada, as imagens de autor são baixadas do serviço de imagem Gravatar, se disponíveis, e exibidas nas exibições de commit e histórico.

Captura de tela mostrando a caixa de seleção para habilitar o download de imagens de autor de fonte de terceiros na caixa de diálogo Opções.

Importante

Para fornecer imagens de autor nos modos de exibição Commit e Histórico, a ferramenta cria um hash MD5 para os endereços de email do autor armazenados no repositório ativo. Esse hash é enviado ao Gravatar para encontrar um valor de hash correspondente para os usuários que se inscreveram anteriormente no serviço. Se uma correspondência for encontrada, a imagem do usuário será recuperada do serviço e exibida no Visual Studio. Os usuários que não configuraram o serviço retornarão uma imagem gerada aleatoriamente. Observe que os endereços de email não são gravados pelo Visual Studio, nem nunca são compartilhados com Gravatar ou com qualquer outro terceiro.

Confirmar as alterações após a mesclagem por padrão

Quando Confirmar alterações após a mesclagem por padrão estiver habilitada, o Git criará automaticamente um commit quando um branch for mesclado com o branch atual.

Captura de tela mostrando a caixa de seleção para fazer commit de alterações por padrão após a mesclagem na caixa de diálogo Opções.

  • Quando marcada, os comandos git merge emitidos pelo Visual Studio são executados com a opção --commit.
  • Quando desmarcada, os comandos git merge emitidos pelo Visual Studio são executados com as opções --no-commit --no-ff.

Para obter mais informações sobre essas opções, confira --commit e --no-commit e --no-ff.

Habilitar push --force-with-lease

Quando habilitada, essa configuração permite que você efetue push --force-with-lease de dentro do Visual Studio. Por padrão, Habilitar push --force-with-lease está desabilitado.

Captura de tela mostrando a caixa de seleção para habilitar o push force com concessão na caixa de diálogo Opções.

Para obter mais informações, confira push --force-with-lease.

Abrir pasta no Gerenciador de Soluções ao abrir um repositório Git

Quando você usa o Visual Studio para abrir ou alternar para um repositório Git, o Visual Studio carrega o conteúdo do Git para que você possa exibir alterações, commits, branches e gerenciar seu repositório de dentro do IDE. Além disso, o Visual Studio também carregará o código do repositório no Gerenciador de Soluções. O Visual Studio examinará a pasta do repositório em busca de soluções, CMakeLists.txt ou quaisquer outros arquivos de exibição que ele reconheça e os exiba como uma lista no Gerenciador de Soluções. Desse ponto em diante, você pode selecionar uma solução a ser carregada ou a pasta para exibir o conteúdo do diretório. Quando você desativar essa caixa de seleção, o Visual Studio não abrirá a pasta do repositório no Gerenciador de Soluções. Isso basicamente permitirá que você abra o Visual Studio apenas como um gerenciador de repositório Git. Esta configuração está ativada por padrão.

Captura de tela mostrando a caixa de seleção para abrir a pasta ao abrir um repositório Git na caixa de diálogo Opções.

Carregar a solução automaticamente ao abrir um repositório Git

Essa configuração é aplicável somente quando a configuração Abrir pasta no Gerenciador de Soluções ao abrir um repositório Git está ativada. Quando você abre um repositório Git no Visual Studio e a verificação de pasta subsequente detecta que há apenas uma solução presente no repositório, o Visual Studio carrega automaticamente essa solução. Se você desativar a configuração, o Gerenciador de Soluções exibirá a única solução presente no repositório na lista de exibições. No entanto, ele não carregará a solução. Por padrão, esta configuração é desativada.

Captura de tela mostrando a caixa de seleção para carregar automaticamente a solução ao abrir um repositório Git na caixa de diálogo Opções.

Fazer check-out de branches automaticamente com um clique duplo ou usando a tecla Enter

A janela Repositório Git tem uma lista de branches exibidos em uma estrutura de árvore. A seleção de apenas um branch alternará do painel histórico de commits para a exibição dos commits do branch selecionado. Para fazer check-out de um branch, você poderá clicar com o botão direito do mouse para abrir o menu de contexto e selecionar Fazer check-out. Se você ativar essa configuração, clicar duas vezes ou pressionar a tecla Enter fará check-out do branch e exibirá os respectivos commits.

Captura de tela mostrando a caixa de seleção para fazer check-out de branches com clique duplo ou Inserir chave na caixa de diálogo Opções.

Importante

Se você tiver uma sugestão para nós, informe-nos. Agradecemos a oportunidade de nos envolvermos com você em decisões de design por meio do portal do Developer Community.