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.