Lista de arquivos com mais de 'n' modificações do último commit em relação ao estado atual

1

Com um repositório enorme, torna-se desafiador acompanhar as mudanças.

Github exibe uma estatística por arquivo (número total de linhas modificadas; inclui também adicionar ou excluir). Podemos listar as estatísticas (apenas um número) por arquivo para todos os arquivos (do repositório) no estado sujo (não confirmado e não sincronizado) em relação ao último commit localmente no terminal?

    
por Nikhil 15.09.2018 / 19:01

1 resposta

1

Não diretamente - a melhor aproximação é

git diff --numstat

que fornece dois números: o número de linhas adicionadas e excluídas. Você pode somar esses dois números assim:

git diff --numstat | awk -F '\t' '{print $1+$2, $3}'

O diff será feito entre a árvore de trabalho e o índice. Opcionalmente, você pode adicionar a diff option --cached para a comparação index vs HEAD e apenas HEAD para a comparação da árvore de trabalho vs HEAD. Mas "trabalhar árvore vs HEAD menos índice" - como eu entendo sua pergunta - não é possível.

Portanto, os comandos completos são:

git diff --numstat --cached | awk -F '\t' '{print $1+$2, $3}'
git diff --numstat HEAD | awk -F '\t' '{print $1+$2, $3}'
    
por 18.09.2018 / 21:58