The ideal Git commit is one that doesn't pass tests (ideally it doesn't compile at all) and that has absolutely no commit message.
The fact that programming culture and even Git itself do not approve of this is a big problem and a major contributor to the current biggest challenge that software development faces: bad abstraction.
Git's design and its culture have a deep seated fear of staring into the abyss. Of making a change you KNOW is wrong, but choosing to ignore reason and press forward anyway. Good abstractions can only come about from true firsthand knowledge of the software landscape.
It's simply not possible to sense the objective reality of a piece of code unless the programmer is willing to stand in the center of a hundred broken code chunks and bathe in the stream of compiler error messages.
That is how to advance software development.
Login to reply
Replies (1)
git is fundamentally broken