May I ask you what is the book title ?
HN user
busbus
I understand the needs. But to me, I can’t see any real value to squashing other than cleaning local history before sharing the code. Also, and that’s important for me (maybe other people doesn’t care of it) I lose the ability to bisect more precisely. When I know that my guilty commit is a squashed one, I have to watch every modification to understand what went wrong, which takes time for me.
Also, everything you describe can be achieved with a merge commit. As a side effect, when you look at the history, you may be annoyed with small commits that may not interest you. But Git can help by displaying only merge commit (with --first-parent option).
May I ask you why you want to squash every branch ?
What is the size of the resulting commit (in terms of average modified files, lines of code) ?
I can’t tell you what is that website, but the concept of broken window reminds me a book that talked about it:
https://www.amazon.fr/Pragmatic-Programmer-Journeyman-Master...
(No affiliation)