Git: The Fabric of Software

codista3 pts0 comments

Git: The Fabric Of Software | O Codista

Git: The Fabric Of Software

🇺🇸<br>Login<br>Git: The Fabric Of Software<br>June 3, 2026•5 min read

#git#physics#philosophy#software-engineering<br>Table of Contents

Intro

Git is fucking awesome

Analogy is my passion

Forking Reality

The Game

Multiverse

References

Books

Videos

Disclaimer

To understand this article, you must know the basics of Git (the versioning tool).

I'll describe an analogy that binds time traveling, multi-verses and parallel realities with Git.

Hang tight, it's fun!

Intro

I’ve been watching some Neil deGrasse Tyson videos recently, more specifically the StarTalk channel and I wanted to share an interesting thought that occurred to me while working with Git these days.

First of all, I think we developers take Git for granted. (Or maybe it’s just me)

Once you’ve worked with it for a while, it becomes automatic (like driving a car).

git clone -> git checkout -> git add -> git commit -> git push

I don't usually think about what's happening under the hood.

So, this time I did and came to the conclusion that:

Git is fucking awesome

It has every superpower physicists dream of: time travel, “universe” jumps, merges, reverts and flat, accessible & mutable history .

Imagine if you could read all events of our reality ordered by time, accessible via a simple command.

Not only see it, but change it and fork it, how many times you want, think about it: it’s crazy!

As developers, we are pretty much used to (and bored by) these features.

We not only have multiple repos, branches, worktrees, checkouts, reverts, logs and reflogs, but also local and remote states.

We have merges and conflicts, with selective cherry-picking.<br>We are spoiled.

We handle multiple versions of code, with many contributors, many times a day, as an ordinary task.

That's just... part of the job.

We travel through time ALL THE TIME.

We are not "prisoners of the Present" in Git, we own the present, the past and decide & contribute to the future.

Ok, let’s twist some terms and play with this idea a little bit.

Analogy is my passion

When you think about a branch, imagine a universe.

Commits are “events” or facts, that shape reality.

Events happen at some time (through a created-at date-time column).

In this article, reality is a Git repository with a single file: rules.toml.

The first branch/universe I’ll create is “main”.

Rules in main are simple:

# rules.toml<br>gravity="9.8m/s^2"<br>walking-force=1<br>background-color="sky-blue"<br>stars-count=0

As expected, the first event of the main reality is "Hello, world!".

Recap<br>Repo -> reality<br>Branch -> universe<br>Commit -> event<br>History -> history<br>Checkout -> time traveling<br>Switch -> universe jumping<br>Revert/merge/rebase -> the history of a universe being re-written

Forking Reality

Now, I'll spawn another universe called light, with different rules:

# rules.toml<br># ... (previous lines unchanged)<br>stars-count=1 (the sun)

The Game

Now that you have a rough idea of this slightly crazy project, I built a walking animation to demonstrate the idea.

Ok, not just a walking animation, a web mini-game.

Play with Git as a multiverse: switch branches, commit events, and rewrite history.<br>Start mini-game<br>Desktop-only mini-game This Git multiverse mini-game is blocked on mobile. Open this post on a larger screen to play.

You can use git commands to play:

git commit (updates rules for current universe)

git switch (travels to another universe)

git switch -c (create new universe)

git checkout (travels back in time)

git reset (erase history)

Each universe has a different set of rules and a different history too.

The character in the game is not only a time traveler, but also the architect of multiple universes.

You can play with him and change the rules, have fun!

Multiverse

This whole article was born out of the idea/theory/hypothesis/suggestion that we may live in a multiverse.

I like to think that each event in your life has a probability to happen. You have some kind of liberty (not much) to interfere with these probabilities.

Like studying for a test will increase the probability of you doing better at that test.

In this idea of multiverses, what I like to think (and not really believe, just wonder about) is the following:

Whenever you make a decision, you create a new universe (or branch).

In your main branch you’re living your life, and you have a history of past decisions (commits).

When you decide to study for a test, the universe spawns a new branch where you decided not to study for the test.

And this goes on for each and every decision you make (and other beings make).

In this scenario, our reality is an infinite pool of universes, each one with a different set of decisions and, therefore, history and rules.

We don’t know what originated our universe, our best guess is the Big Bang, but we don’t know what sparkled the Big Bang (and some would argue that the question doesn’t make sense, as time itself was...

universe time history rules reality game

Related Articles