This is not about mistakes in the Git-managed code. This is about mistakes in the Git commands themselves. Anything that involves merging/rebasing/conflict resolution can potentially be botched. These mistakes are usually fixable, but:
- Fixing it requires some Git proficiency behind the level of the common Git user.
- If you don't catch it in time, and only find the mistake when it's deep in your layers of Git history - well, good luck.