Lançamento do sistema de controle de versão Git 2.44

Após três meses de desenvolvimento, foi lançado o Git 2.44, um sistema distribuído de controle de versões de código-fonte. O Git é um dos sistemas de controle de versões mais populares, confiáveis e de alto desempenho, que oferece ferramentas flexíveis para desenvolvimento não linear, baseadas em ramificações e fusões. Para garantir a integridade do histórico e a resistência a alterações retroativas, é utilizado um hashing implícito de todo o histórico anterior em cada commit, além da possibilidade de verificação por meio de assinaturas digitais dos desenvolvedores em tags e commits específicos. O código do Git é distribuído sob a licença GPLv2+.

Comparado à versão anterior, esta nova versão incorpora 503 alterações, com a participação de 85 desenvolvedores, dos quais 34 participaram do desenvolvimento pela primeira vez. As principais novidades incluem:

  • Foi adicionando um novo comando ‘git replay’, que pode ser usado como uma alternativa ao ‘git rebase’ e servir para recriar o histórico em servidor um repositório bare (sem árvore de trabalho), manipulando várias ramificações simultaneamente, realizando a operação de rebase para ramificações diferentes daquelas que estão sendo extraídas no momento, ou simplesmente para acelerar operações de fusão.
  • Adicionada a suporte ao sistema de integração contínua GitLab CI.
  • Nos comandos ‘git add’ e ‘git stash’ foi adicionada o suporte a atributos de caminho ‘:(attr:…)’, definidos de maneira semelhante ao comando ‘git show’. Por exemplo, ‘git add ‘:(attr:~binary)’ pode ser usado para adicionar todos os arquivos de texto (não binários) ao índice. Além disso, nesta nova versão, foi introduzido o atributo ‘builtin_objectmode’ para filtrar os caminhos dos arquivos com base nas permissões de acesso. Por exemplo, ‘git add ‘:(attr:builtin_objectmode=100755)’ pode ser usado para adicionar todos os arquivos executáveis.
  • Adicionada a capacidade de reutilizar objetos distribuídos em vários arquivos pack, para os quais existe um índice de resumo (multi-pack-index) com dados sobre a disponibilidade dos objetos (uma otimização que permite referenciar o uso de dados já presentes nos arquivos pack em vez de transferir efetivamente os dados). A partir da versão 2.44, o Git agora pode lidar com a reutilização de objetos em vários arquivos pack, sem a necessidade de reempacotar o repositório em um único arquivo pack. Para habilitar esse novo recurso, execute os comandos: git config —global pack.allowPackReuse multi git multi-pack-index write —bitmap

    Depois disso, o número de arquivos pack dos quais os objetos são reutilizados pode ser rastreado no valor "pack-reused … (from N)", exibido ao executar "git push".

  • O comando "git rebase —autosquash" agora pode ser aplicado para operações de rebase em modo não interativo, permitindo realizar rebase e aplicar rapidamente correções fixup sem inspecionar a lista de alterações e sem mudar a variável de ambiente GIT_SEQUENCE_EDITOR.
  • Adicionada a opção "—diff-algorithm" ao comando "git merge-file" para escolher um algoritmo alternativo de avaliação de diferenças entre arquivos.
  • No comando "git checkout -B []", é proibida a atualização e extração de branches que utilizam outra árvore de trabalho. Para retornar ao comportamento anterior, foi adicionada a opção "—ignore-other-worktrees".
  • Adicionada a capacidade de atribuir à configuração "git config advice.pushAlreadyExists" o valor "true", que remove a instrução de desativação das dicas ao exibi-las ("Disable this message with…"), economizando espaço na tela.
  • O desempenho do comando "git for-each-ref" com a opção "—no-sort" foi otimizado, resultando agora em uma saída em ordem indefinida (anteriormente, ao especificar "—no-sort", a ordenação alfabética ainda era aplicada). Após as otimizações, a aplicação de "—no-sort" agora acelera o "git for-each-ref" em cerca de 20% em repositórios com um grande número de referências.
  • No backend de gerenciamento de credenciais wincred, foi adicionada a capacidade de atualizar tokens OAuth, similar ao que é implementado nos backends credential-cache e credential-libsecret.
  • No "git fetch" foi adicionada a suporte para o parâmetro de configuração "fetch.all", que será tratado de forma similar à adição da opção "—all" na linha de comando.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster