https://stackoverflow.com/questions/36190800/how-to-disable-sparse-checkout-after-enabled
Revert modified files: git checkout -f
Remove untracked files: git clean -fd
sparseCheckout
git config core.sparseCheckout true
echo -e "/*\n!node_modules" >> .git/info/sparse-checkout
https://stackoverflow.com/a/33934496
.gitignore nor with .git/info/exclude
git update-index --assume-unchanged build/conf/a.conf
will achieve what you want: the files are always assumed unchanged
If you want to track changes in these files again, use --no-assume-unchanged.
Finally, if you want to know which files are currently in the --assume-unchanged mode, ask git for
git ls-files -v | grep -e "^[hsmrck]"