Há vários motivos para querer saber quais arquivos foram adicionados ou modificados em um repositório git, um dos quais é o fato de o editor de texto destacar esses arquivos. Outro caso de uso é a execução de tarefas somente em relação aos arquivos que foram alterados no momento, como o lint ou outras rotinas de validação.

Então, como podemos identificar os arquivos que foram adicionados ou alterados? Assim:

git ls-files --others --exclude-standard ; git diff-index --name-only --diff-filter=d HEAD ;

E se o senhor quiser executar uma rotina somente em uma determinada parte dos arquivos, poderá usar uma expressão regular para fazer isso:

{ git ls-files --others --exclude-standard ; git diff-index --name-only --diff-filter=d HEAD ; } | grep --regexp='[.]js$'

A equipe do MetaMask usa o seguinte para executar o linting somente em arquivos alterados:

{ git ls-files --others --exclude-standard ; git diff-index --name-only --diff-filter=d HEAD ; } | grep --regexp='[.]js$' | tr '\\n' '\\0' | xargs -0 eslint --fix

Truques como esse são muito úteis e confiáveis; o senhor os coloca em prática uma vez e não pensa conscientemente neles novamente, e tudo bem. Configure e esqueça!

  • Criação de efeitos de paralaxe de rolagem com CSS

    Introdução Há muito tempo, os sites com o chamado efeito “parallax” são muito populares… Caso o senhor não tenha ouvido falar desse efeito, ele basicamente inclui diferentes camadas de imagens que se movem em diferentes direções ou com diferentes velocidades. Isso leva a uma…

  • 9 demonstrações WebGL mais impressionantes