Nova versão do Git 2.28, permitindo não usar o nome "master" para branches master

Disponível lançamento de um sistema de controle de origem distribuído Git 2.28.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 a resistência a mudanças retroativas, é utilizado hash implícito de todo o histórico anterior em cada commit; também é possível certificar tags individuais e commits com assinaturas digitais dos desenvolvedores.

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

  • Adicionada a configuração init.defaultBranch, que permite selecionar um nome arbitrário para o branch principal, que será usado por padrão. Esta configuração foi adicionada para projetos cujos desenvolvedores são assombrados por memórias de escravidão, e a palavra “mestre” é percebida como uma sugestão ofensiva ou evoca angústia mental e um sentimento de culpa não redimida. GitHub, GitLab и bitbucket decidiu usar a palavra “principal” em vez da palavra “mestre” para os ramos principais. No Git, como antes, a execução do comando "git init" continua a criar o branch "master" por padrão, mas esse nome agora pode ser alterado. Por exemplo, para alterar o nome do branch inicial para “main” você pode usar o comando:

    git config --global init.defaultBranch principal

  • Adicionadas otimizações de desempenho com base na aparência no formato de arquivo gráfico de commit, usadas para otimizar o acesso às informações de commit, suporte Filtros de flores, uma estrutura probabilística que permite a falsa identificação de um elemento faltante, mas exclui a omissão de um elemento existente. A estrutura especificada permite acelerar significativamente a pesquisa no histórico de alterações ao usar os comandos “git log - " ou "culpa".
  • O comando “git status” fornece informações sobre o andamento da operação de clonagem parcial (checkout esparso).
  • Uma nova configuração "diff.relative" foi proposta para a família de comandos "diff".
  • Ao verificar através de "git fsck", a classificação da árvore de objetos agora é avaliada e os elementos não classificados são identificados.
  • A interface para edição de informações confidenciais na saída do rastreamento foi simplificada.
  • O suporte para completar opções para o comando "git switch" foi adicionado ao script de conclusão de entrada.
  • “git diff” agora suporta a passagem de argumentos em notações diferentes (“git diff A..BC”, “git diff A..BC…D”, etc.).
  • Adicionada a capacidade de especificar um mapeamento de elemento personalizado ao comando "git fast-export --anonymize" para ajustar a saída e torná-la mais depurável.
  • O "git gui" permite abrir árvores de trabalho a partir da caixa de diálogo inicial.
  • O protocolo “fetch/clone” implementa a capacidade do servidor de informar o cliente sobre a necessidade de carregar arquivos de pacote pré-preparados, além dos dados de objetos compactados transmitidos.
  • O trabalho continuou na transição para o algoritmo de hash SHA-256 em vez de SHA-1.

Fonte: opennet.ru

Adicionar um comentário