Earlier quoted context omitted.
Regarding 2, that branching strategy sounds completely reasonable and simple. You wouldn't except to delete the "dev" branch in that case, nor squash any commits, because "dev" is a shared branch that many people use. It sounds like a classic "test" or "pre-production" branch. You would expect people to commit cleaned up commits ready to be merged to production into that branch. Any exploratory work would be done out…
> I didn't understand the part about removing the repository He was just saying that it could all be "solved" by simply nuking the current repository and starting afresh from the current version of the code. They'd lose all history but they'd also have a clean slate and not have to deal with the errors of the past.
Better not let it come to that. Especially if the plan is to repeat it when someone mess up next time.