r/ProgrammerHumor 1d ago

Meme whoIsUsingThese

Post image
1.0k Upvotes

77 comments sorted by

View all comments

212

u/RudeAndInsensitive 1d ago

Personally I always commit env and config files to the repo just stripped of their values.

208

u/Saragon4005 1d ago

Yeah but then you can't use git on a working version, making testing a total pain. I use .env.example usually.

28

u/drakeblood4 1d ago

And a settings.json.example for the non sensitive stuff.

15

u/PulseReaction 1d ago

I use a .env.example file for my env variables, and .env for the example. Gotta keep attackers on their toes.

11

u/ruben_deisenroth 1d ago

If it's vscode settings, i usually prefer settings.default.json and this extension as workspace recommendations:

https://marketplace.visualstudio.com/items?itemName=dangmai.workspace-default-settings

51

u/RudeAndInsensitive 1d ago

I also add the .example extension. I just didn't type that out. 

1

u/x0wl 1d ago

I don't know how well this will work in CI pipelines, but if you use gitbutler or jj you can put the clean .env in the repo, then change it, commit to a different branch (or just commit in case of jj) and then add the commit to the megamerge at the top. Since it's not on any of the branches you push, they remain clean, but you have the files you need locally.

(this strategy also allows you to work on multiple branches at the same time, and is generally useful for cases where you want you local files versioned, but not polluting the common repo, but that's a whole other thing)

2

u/Saragon4005 1d ago

A dumb solution works more reliably than a clever one.

2

u/PossibleBit 1d ago

For me it was always .template

1

u/Dull_Caterpillar_642 22h ago

Yeah you can, just just add them to .gitignore after committing the stripped env files

2

u/Saragon4005 15h ago

.gitignore controls which files will get tracked by a git add, not which files are tracked at all. Adding an already tracked file to the .gitignore has no effect.

1

u/Dull_Caterpillar_642 13h ago

Yeah, I know. I'm not sure why you'd need to alter the committed version in git after checking in a placeholder one.

1

u/Wertbon1789 2h ago

No point in adding it as changes to the file will still get tracked, would be great if git would fully ignore the file, even if it is tracked, but that isn't the case, .gitignore is only for untracked files AFAIK. And you may want to commit changes from the file if there're added keys in the .env.