All Git Tales
June 12, 2026 Wilfried Nesensohn 2 min read

Git clay

An unpublished Git branch is malleable, but review and integration gradually harden it. This tale compares branch history to shaping, drying, and firing clay.

git: ‘clay’ is not a git command.

Yeah, it’s not a real Git command.

It’s an idea on how to view a branch. A branch in Git, especially when not pushed already, is like clay. You can form it however you want, and Git tools provide all the leverage you need to do so.

Model

Working on a local branch in Git can be like forming clay - a malleable mass made of commits and therefore changes, with which great sculptures can be made. In this almost liquid phase of the material, you can form it at your will, redo certain aspects of your project, move stuff around, remove things … - in short, have fun with it.

Even though you’re “Modifying History” in a technical sense when doing this modelling, you’re not really modifying history. You’re building, forming, shaping, to make something valuable.

And just as clay, there comes a time when the main part is done, and you have to let it dry a bit.

Dry

In software development, code also sometimes needs to dry - lest it may crack when being fired, or bug out when being run. This drying stage, also known as review, is often done by pushing your work onto a remote. The duration of this stage may be shortened, for example using unit tests, but you probably won’t skip it altogether. There are other means to do so of course, but they all have in common that your work is now under the scrutiny of others (or your future self), and you better not treat it as the liquid material it once was, as your reviewers might not be too fond of that.

You can still do minor tweaks of course. Patch a couple of cracks, maybe even redo a section. And there might even be the occasional problem where you decide to scrap it all - no foul, no harm. It isn’t set in stone. Yet.

Fire!

The sculpture is now ready, set in stone. What once was fluid, floating, now is firm and grounded. You can still adjust it, move it around, dress it up - but you can’t rewrite the books. It’s part of history now, and unless someone decides to alter the past, it will stay there.

Just as in Git. Nice.

Branch historyCode reviewHistory rewriting