git update-index --assume-unchanged <file>
git update-index --no-assume-unchanged <file>
This only works when user executes the command.
So you’ll need to add a note to the repo’s README and maybe make it easy by abstracting within a Makefile:
lock_local_file:
git update-index --assume-unchanged ./some/file.json