Git not being a version control system


Trix Farrar:

Git is not version control! It is a means with which file trees are to be kept in sync. The fact that it allows mutable history invalidates it as “version control”.

It reminds me of Poul-Henning Kamp’s comments, as quoted on Makefile.feld:

Git is a tool which allows people and projects to manage, modify, fork and merge the many different views, instances, variations and modifications of a work in progress across barriers of distrust.

The crucial word there was “many different”, which is the exact opposite of what a VCS strives for.

A lot of the features Git provides, features which are what makes it great as a colaboration tool, flies in the face or or directly invalidates the guarantees you normally expect from a VCS, most notably progression of time & version, immutability and consistency of view.

Author bio and support


Ruben Schade is a technical writer and IaaS engineer in Sydney, Australia who refers to himself in the third person in bios. Wait, not BIOS… my brain should be EFI by now.

The site is powered by Hugo, FreeBSD, and OpenZFS on OrionVM, everyone’s favourite cloud infrastructure provider.

If you found this post helpful or entertaining, you can shout me a coffee or buy some silly merch. Thanks!