Uma nova versão do Git, uma criação de Linus Torvalds, inclui novo utilitário scalar desenvolvido pela Microsoft. O sistema de controle de código-fonte distribuído Git 2.38 possui nada menos que 699 alterações em relação à versão anterior. Ao todo, trabalharam nesta versão do projeto 92 desenvolvedores, dos quais 24 participaram do desenvolvimento direto. Portanto, o Git 2.38 inclui novo utilitário scalar desenvolvido pela Microsoft.
O Git é um dos sistemas de controle de versão mais populares, confiáveis ??e de alto desempenho. Ele fornece ferramentas de desenvolvimento não lineares flexíveis baseadas em forks e merges of forks.
Para garantir a integridade do histórico e a resistência a alterações de datas anteriores, o hash implícito de todo o histórico anterior é usado em cada commit, também é possível verificar as assinaturas digitais dos desenvolvedores de tags e commits individuais.
Principais recursos que chegam ao Git 2.38
A nova versão do Git 2.38 destaca-se pela inclusão do utilitário “scalar” desenvolvido pela Microsoft para a gestão de grandes repositórios. O utilitário foi originalmente escrito em C#, mas uma versão C modificada está incluída no git. O novo utilitário difere do comando git por incluir recursos e configurações padrão adicionais que afetam o desempenho ao trabalhar com repositórios muito grandes.
Por exemplo, ao usar scalar, você terá:
- Clone parcial para trabalhar com uma cópia incompleta do repositório.
- Mecanismo de controle de alterações do sistema de arquivos integrado (FSMonitor), que elimina a necessidade de listar todo o diretório de trabalho.
- Índices que cobrem objetos em diferentes pacotes de arquivos (multi-pacote).
- Arquivos de gráfico de confirmação com um índice de gráfico de confirmação usado para otimizar o acesso às informações de confirmação.
- Trabalho periódico em segundo plano para manter a estrutura ideal do repositório em segundo plano sem bloquear a sessão interativa (uma vez por hora, é feito um trabalho para obter novos objetos do repositório remoto e atualizar o arquivo com o gráfico de commit, e o processo de empacotamento de o repositório é iniciado todas as noites).
- Um modo “sparseCheckoutCone” que restringe os padrões válidos na clonagem parcial.
Git 2.38 inclui novo utilitário scalar desenvolvido pela Microsoft
Outra mudança nesta nova versão do Git 2.38 é a opção “–update-refs” para o comando “git rebase” para atualizar branches dependentes que cruzam com branches realocados, para que você não precise pagar manualmente. para o commit desejado.
Observe também que o formato de arquivo bitmap foi otimizado para trabalhar com grandes repositórios : uma tabela de índice opcional com uma lista de commits selecionados e seus deslocamentos foi adicionada.
Além disso, podemos descobrir que o comando “git merge-tree” implementa uma nova forma em que, com base em dois commits específicos, uma árvore é calculada com o resultado da mesclagem, como se os históricos destes fossem mesclados. confirmações.
Adicionada a configuração “safe.barerepository” para controlar se os repositórios que não contêm uma árvore de trabalho podem ser colocados dentro de outros repositórios git. Quando definido como “explícito”, os repositórios vazios localizados no diretório superior só poderão funcionar. Para poder colocar repositórios vazios em subdiretórios, o valor “all” deve ser usado.
Das outras mudanças que se destacam nesta nova versão:
- Adicionada a opção “-m” (“–max-count”) ao comando “git grep”, que é semelhante à opção GNU grep de mesmo nome e permite limitar o número de resultados de correspondência.
- O comando “ls-files” implementa a opção “–format” para personalizar os campos de saída (por exemplo, você pode habilitar a saída do nome do objeto, modos, etc.).
- No “git cat-file”, ao exibir o conteúdo dos objetos, é implementada a capacidade de levar em consideração os links dos autores para o email, especificados no arquivo de mapa de email.
- Comando “git rm” compatível com índices parciais.
- Melhorado o comportamento do comando “git mv AB” ao mover um arquivo de uma área de trabalho com índices parciais no modo “cone” para uma área externa onde esse modo não é aplicado.
Por fim, se você estiver interessado em saber mais sobre o assunto, poderá consultar os detalhes no link a seguir.