git: Ignore local changes on committed (env) file
Whenever I’ve writing scripts that rely on credentials defined as environment variables, I like to create a
.env (or equivalent) file containing those variables.
I then seed that file with placeholder values for each variable and make local changes that aren’t checked in.
export CLIENT_ID="client_id" export CLIENT_SECRET="client_secret"
I have that file checked in so that anybody else can clone the repository and update this file with their own credentials.
But I don’t want local changes to that file to be tracked, as I might then accidentally commit my credentials.
I’d previously achieved this by adding
.envsettings to the
.gitignore file, but that technique doesn’t seem to work anymore!
So once I’ve committed the
.envsettings file, I can have git ignore any changes by running the following command:
git update-index --skip-worktree strava/.envsettings
And now git will ignore any local changes made to this file, which is exactly what I want!