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.

    The Git menu with a callout to the Settings command.

  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.

    The navigation pane in the Options dialog box with a callout to Git settings.

  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.

    The display area of the Options dialog box with a callout to the OK button.

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 configuser.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.

    Git Global settings pane in Options dialog box with a callout to username an 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 configfetch.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.

    Screenshot that shows 'Prune remote branches during fetch' highlighted and with 'True' selected from the drop-down.

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 configpull.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.

    Screenshot that shows 'Rebase local branch when pulling' highlighted and 'Merges' selected from the drop-down.

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 confighttp.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.

    Screenshot that shows 'Cryptographic network provider' highlighted with 'OpenSSL' selected from the drop-down.

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 configcredential.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.

    Screenshot showing the credential helper setting in the Options dialog box.

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 configdiff.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.

Screenshot that shows the section to set default Diff tool and Merge tool in the Options dialog box.

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.

Screenshot that shows the section to view and edit the Ignore and attributes files in your repository.

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.

Screenshot showing the Git Remotes pane in the Options dialog box.

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.

Screenshot showing the default location field in the Options dialog box.

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.

    Screenshot showing the close solution setting in the Options dialog box.

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.

Screenshot showing checkbox to enable download of author images from third-party source in the Options dialog box.

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.

Screenshot showing the checkbox to commit changes after merge by default in the Options dialog box.

  • 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.

Screenshot showing the checkbox to enable push force with lease in the Options dialog box.

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.

Screenshot showing the checkbox to open folder when opening a Git repository in the Options dialog box.

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.

Screenshot showing the checkbox to automatically load the solution when opening a Git repository in the Options dialog box.

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.

Screenshot showing the checkbox to check out branches with double-click or Enter key in the Options dialog box.

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.