Lançamento do sistema de controle de origem distribuído Git 2.23

Introduzido lançamento de um sistema de controle de origem distribuído Git 2.23.0. Git é um dos sistemas de controle de versão mais populares, confiáveis ​​e de alto desempenho, fornecendo ferramentas flexíveis de desenvolvimento não linear baseadas em ramificação e fusão. Para garantir a integridade do histórico e resistência a mudanças retroativas, é utilizado hash implícito de todo o histórico anterior em cada commit, sendo também possível certificar tags e commits individuais com assinaturas digitais dos desenvolvedores.

Em comparação com a versão anterior, a nova versão incluiu 505 alterações, preparadas com a participação de 77 desenvolvedores, dos quais 26 participaram do desenvolvimento pela primeira vez. Básico inovações:

  • Os comandos experimentais "git switch" e "git restore" são introduzidos para separar recursos de "git checkout" fracamente acoplados, como manipulação de ramificação (alternância e criação) e restauração de arquivos no diretório de trabalho ("git checkout $commit - $filename") ou imediatamente na área de teste (“—staging”, não tem análogo em “git checkout”). É importante notar que, diferentemente de "git checkout", "git restore" remove arquivos não rastreados dos diretórios que estão sendo restaurados ("--no-overlay" por padrão).
  • Adicionada a opção “git merge –quit”, que, semelhante a “-abort”, interrompe o processo de fusão de ramificações, mas deixa o diretório de trabalho intacto. Esta opção pode ser útil se algumas das alterações feitas durante uma mesclagem manual forem preferíveis para serem emitidas como um commit separado.
  • Os comandos "git clone", "git fetch" e "git push" agora levam em consideração a presença de commits em repositórios vinculados (suplentes);
  • Adicionado as opções “git culpa —ignore-rev” e “—ignore-revs-file” permitem pular commits que fazem pequenas alterações (por exemplo, correções de formatação);
  • Adicionada a opção “git cherry-pick —skip” para pular um commit conflitante (um análogo memorizado da sequência “git reset && git cherry-pick —continue”);
  • Adicionada a configuração status.aheadBehind, que corrige permanentemente a opção “git status -[no-]ahead-behind”;
  • A partir desta versão, "git log" por padrão leva em consideração as alterações feitas pelo mailmap, semelhante ao que o git shortlog já faz;
  • A operação de atualização do cache experimental do gráfico de commit (core.commitGraph) introduzida na versão 2.18 foi significativamente acelerada. Também tornou o git for-each-ref mais rápido ao usar vários modelos e reduziu o número de chamadas para auto-gc em “git fetch —multiple”;
  • "git branch --list" agora sempre mostra HEAD desanexado no início da lista, independentemente da localidade.

Fonte: opennet.ru

Adicionar um comentário