Git 2.26.0 chega com pesquisa de conteúdo

Git 2.30 lançado com a nova nomenclatura "Main"
git

A versão “Git 2.26.0” já está disponível e vem com alguns novos recursos, suportes experimentais e, acima de tudo, otimizações. Para aqueles que não estão familiarizados com o Git, devem saber que é um dos sistemas mais populares, confiáveis e de alto desempenho, fornecendo ferramentas de desenvolvimento flexíveis e não lineares baseadas na ramificação e fusão de ramificações.

Para garantir a integridade da história e a resistência a mudanças em retrospectiva, o hash implícito de toda a história anterior é usado em cada confirmação, também é possível assinar digitalmente os desenvolvedores de etiquetas e confirmações individuais.

Comparada à versão anterior, a nova versão tem 504 alterações preparadas com a participação de 64 desenvolvedores, dos quais 12 participaram do desenvolvimento pela primeira vez.

Principais recursos do Git 2.26.0

Git 2.26.0 chega com pesquisa de conteúdo

Nesta nova versão, a transição padrão foi feita para a segunda versão do protocolo de comunicação Git, que é usado ao conectar um cliente remotamente a um servidor Git. A segunda versão do protocolo é notável por fornecer a capacidade de filtrar ramificações e etiquetas no lado do servidor com o retorno de uma lista abreviada de links para o cliente.

Outra inovação importante é a capacidade de adicionar novas funções ao protocolo à medida que novas funções aparecem no kit de ferramentas. O código do cliente ainda é compatível com versões anteriores e pode continuar trabalhando com servidores novos e antigos, revertendo automaticamente para a primeira versão se o servidor não suportar a segunda.

A opção “ –show-scope” foi adicionada ao comandogit config”, que simplifica a identificação do local onde determinadas configurações são definidas.

O Git permite definir configurações em diferentes locais:

  • no repositório (.Git/info/config);
  • diretório do usuário (~/.gitconfig);
  • no arquivo de configuração do sistema (/etc/gitconfig);
  • bem como através de opções de linha de comando e variáveis de ambiente.

Git 2.26.0 chega com pesquisa de conteúdo

Ao executar “git config“, é bastante difícil entender exatamente onde a configuração desejada está definida. A opção “ –show-origin” estava disponível para resolver esse problema, mas mostra apenas o caminho para o arquivo em que a configuração está definida, o que é útil se você pretende editar o arquivo, mas não ajuda se você precisar alterar o através de “git config” com as opções –system, –global ou –local.

Por outro lado, eles são mencionados no anúncio desta nova versão. Assim, contina com a extensão do suporte experimental para clones parciais. Isso permite transferir apenas parte dos dados e trabalhar com uma cópia incompleta do repositório.

A nova versão adiciona um novo comando “git esparsa-checkout add”. Então, permite que você adicione diretórios separados para aplicar a operação decheck-out“, em vez de listar todos os diretórios de uma só vez através do comando “Git conjunto de verificação esparsa“.

O desempenho do comandogit grep“, usado para pesquisar tanto no conteúdo real do repositório quanto nas revisões históricas, aumenta significativamente.

Para acelerar a pesquisa, foi permitido varrer o conteúdo da árvore de trabalho usando vários threads (“git grep –threads”). No entanto, a pesquisa em revisões históricas era de thread único. Agora, essa restrição foi removida devido à implementação da capacidade de paralelizar operações de leitura do armazenamento de objetos.

Mais detalhes

Por padrão, o número de threads é definido igual ao número de núcleos da CPU. Na maioria dos casos agora não requer configuração explícita da opção “- threads“.

Foi adicionado suporte ao preenchimento automático de entradas, caminhos, ligações e outros argumentos do subcomando ao “git worktree”. Assim, permitindo trabalhar com várias cópias de trabalho do repositório.

Também podemos encontrar a nova versão do script fsmonitor-watchman. Ele fornece integração com o mecanismo do Facebook Watchman para acelerar o monitoramento de alterações de arquivos e a aparência de novos arquivos.

Se você quiser saber mais sobre esta nova versão, verifique a nota original no seguinte link.