Dois meses após o lançamento da versão 2.6, o Git 2.7 foi anunciado, trazendo uma série de novas funcionalidades assim como melhorias de desempenho.
Segue uma seleção das principais mudanças que o Git 2.7 inclui:
- O git remote suporta o subcomando get-url que mostra a URL de um determinado remote;
- O git worktree suporta uma lista de subcomandos para mostrar a worktree de um repositório e as branches associadas. As Worktrees foram inicialmente incluídas no Git 2.5 para facilitar o trabalho em múltiplas branches no mesmo repositório;
- O git bisect foi desenvolvido para auxiliar o trabalho simultâneo em várias worktrees. O bisect é útil quando se busca identificar as alterações no código que produziram efeitos indesejados. Isso permite aos desenvolvedores marcar um bom/antigo commit e um mau/recente commit, então uma busca binária pode ser realizada através dos commits procurando aquele commit que pode ter quebrado o build;
- O git submodule suporta uma nova opção de configuração, o push.recurseSubmodules tem como função ajudar os desenvolvedores enviar alterações para o módulo principal sem antes enviar seus submódulos alterados. O mesmo efeito pode ser obtido usando a opção --recurse-submodules=on-demand na linha de comando, mas o novo push.recurseSubmodules pode tornar esse comportamento o padrão;
- git stash suporta uma nova opção de configuração, stash.showPatch, para sempre mostrar o atual path ao invés de listar todos os paths afetados. Este comportamento pode ser obtido no Git 2.6 usando na linha de comando a flag -p;
- No que diz respeito ao desempenho, a melhoria está sendo obtida ao reescrever o git submodule na linguagem C.
O Git 2.7 inclui várias outras mudanças, incluindo mais de 800 commits. É possível ver a lista completa nas notas do lançamento.