Production

Version numbers belong in your file names

You'll save the same file six times before you get it right. That's not failure — it's normal. The failure is saving them all as hero-image.jpg in six different folders, then playing memory Olympics to remember which one made it to production.

Version numbers in file names aren't fussiness. They're survival.

The pattern that works

filename-v1.ext, filename-v2.ext, filename-v3.ext. Increment the number every time you make a change worth keeping. Not every save — just the ones that represent a decision.

If you crop an image, that's v2. If you adjust contrast after cropping, still v2. If you export a new crop entirely, that's v3.

The version number marks intention, not mouse clicks.

Why dates don't work

hero-image-2024-01-15.jpg tells you when, not what. When you're looking at three files from the same afternoon, the timestamp is useless. You'll still open all three.

Dates measure time. Versions measure decisions. You're trying to track decisions.

Start at v1, not v0

The first saved file is version one. It exists, it's deliberate, it counts. Zero implies a draft that doesn't count yet, and that's the thinking that leads to final-draft-v0-real.jpg.

If it's worth saving, it's worth counting.

The current version lives in the working folder

Your working folder holds the current version and nothing else. Older versions go in an archive subfolder or get deleted. You shouldn't have to scan version numbers to find the live file — the live file is the only one present.

When you increment, move the old version to archive, keep the new one in the working folder. One file to grab, every time.

When to actually increment

New version when:

  • You change the content (crop, retouch, rewrite)
  • You export a different size or format for a new purpose
  • You make an edit you might want to undo later

Same version when:

  • You're adjusting a setting and immediately re-exporting
  • You're fixing an obvious mistake in the same session
  • The change is corrective, not creative

If you're not sure, increment. Skipping a number is free. Overwriting the wrong file is expensive.

This works for text files too

blog-post-v1.md, blog-post-v2.md. Same logic. When you revise structure or rewrite a section, increment. When you fix a typo, don't.

Your content model can enforce this at upload if your CMS allows field validation, but the practice starts in your working files before anything reaches the CMS.

Stop using "final"

final.jpg becomes final-v2.jpg becomes final-actual.jpg becomes a joke. The word "final" in a file name is a tell. It means you're naming files based on hope instead of process.

Versions don't care about your optimism. They care about sequence. The highest number is the current version. That's the whole system.

If you need to mark a version as delivered or approved, add a status prefix: approved-filename-v8.jpg. The version number still increments if you make changes after approval. Now you have approved-filename-v8.jpg and filename-v9.jpg and you know exactly what happened.

You're making a changelog in file names

That's all this is. A changelog you can read in a directory listing without opening anything. When you need to roll back or compare, you'll know which file to open.

Version numbers are cheap. Confusion is expensive. Count up.

← All posts