Да, вы можете сделать это с помощью функции "разреженной проверки".
git config core.sparsecheckout true
Отредактируйте файл .git/info/sparse-checkout
и добавьте:
*
!invisible.js
Тогда:
git read-tree -m -u HEAD
Это должно заставить файл invisible.js
исчезнуть из рабочего каталога (и он не будет возвращаться при обновлении).
Дополнительную информацию см. В разделе «Редкая проверка» документации git read-tree
.