Git 2.31 já está disponível e chega com manutenção git

Há alguns dias , foi anunciado o lançamento da nova versão do Git 2.3 , um dos sistemas de controle de versão mais populares, confiáveis ​​e de alto desempenho, que fornece ferramentas flexíveis de desenvolvimento não linear baseadas em ramificação e mesclagem.

Em comparação com a versão anterior, a nova versão adota 679 alterações e foi elaborada com a participação de 85 desenvolvedores , 23 dos quais participaram do desenvolvimento pela primeira vez.

Novos recursos principais do Git 2.31

Esta nova versão do Git 2.31 apresenta a adição do comando "git maintenance" , que permite a manutenção periódica em sistemas que não suportam cron . Por exemplo, com este novo comando, você pode agendar o processo de empacotamento do repositório para iniciar periodicamente, eliminando a necessidade de esperar que o bloqueio do repositório seja concluído quando o empacotamento é realizado automaticamente após a execução de vários comandos.

Outra mudança notável é a adição de suporte para manter um índice reverso em disco (revindex) para arquivos de pacote. O Git armazena todos os dados como objetos, que são mantidos em arquivos separados. Para melhorar a eficiência do trabalho com o repositório, esses objetos são organizados em arquivos de pacote, onde as informações são apresentadas como um fluxo de objetos sequenciais.

Para cada pacote compactado, é criado um arquivo de índice (.idx), que permite usar o identificador do objeto para determinar rapidamente o deslocamento dentro do pacote compactado onde o objeto está armazenado. O índice reverso (.rev), proposto no Git 2.31, visa otimizar o processo de determinação de um identificador de objeto a partir de informações sobre a localização do objeto dentro de um pacote compactado.

Anteriormente, essa conversão era realizada em tempo real durante a análise de um arquivo de pacote e armazenada apenas na memória, o que não permitia a reutilização desses índices e exigia a geração do índice a cada vez. A operação de construção de um índice se resume a construir uma matriz de pares de posição de objetos e ordená-los por posição, o que pode ser muito demorado para arquivos de pacote grandes.

Além disso, podemos constatar que foram adicionadas otimizações de desempenho baseadas na aparência do formato do arquivo do gráfico de commits , que é usado para otimizar o acesso a informações sobre commits, e novos dados sobre o número de commits gerados, que podem ser usados ​​para acelerar operações adicionais com commits.

Além disso, foi adicionada a capacidade de sobrescrever o nome da branch padrão em novos repositórios (configuração `init.defaultBranch`). Ao acessar repositórios externos, o Git tenta verificar a branch para a qual o comando `HEAD` aponta; ou seja, se o servidor externo estiver usando a branch "main" por padrão, a operação `git clone` tentará encontrar a branch "main" localmente.

Outras mudanças notáveis ​​incluem:

  • A opção "–disk-use" adicionado ao comando "git rev-list" para exibir um resumo do tamanho dos objetos.
  • O suporte para a biblioteca de expressão regular obsoleta PCRE1 foi removido.
  • Forneceu a capacidade de proibir à força o uso de atalhos, agindo independentemente do algoritmo de hash. A proibição é habilitada atribuindo-se o valor "no" ao parâmetro core.abbrev.
  • A opção "–path-format" foi adicionada ao comando "git rev-parse" para definir explicitamente a saída de caminhos relativos ou absolutos.
  • Os scripts de preenchimento automático do Bash facilitam a adição de regras de preenchimento para subcomandos "git" personalizados.
  • Adicionada opção "–stdin" ao comando "git bundle" para ler links do fluxo de entrada padrão.
  • As opções "–left-only" e "–right-only" foram adicionadas ao comando "git range-diff" para mostrar apenas um lado do intervalo comparado.
  • Adicionada opção "–skip-to = »Para o comando« git difftool »para retomar uma sessão interrompida de um caminho arbitrário.
  • O Código de Conduta (Código de Conduta), que define os princípios básicos para a resolução de conflitos entre desenvolvedores, foi atualizado para a versão 2.0 (antes era utilizada a versão 1.4).

Por fim, se você quiser saber mais sobre isso , pode consultar o seguinte link.


Adicionar como fonte preferencial no Google