Not from bad code. Not from missing tests. From a single git reset—and no one could say who ran it, or when. The change clawed away hours of work, and the commit history couldn’t explain the human history.
Git tracks commits. It does not track intent. If you need to know exactly who accessed what and when—especially around destructive commands like git reset, git revert, or git push --force—Git alone will not save you.
A git reset rewrites history. By design, it leaves no obvious trail for others. Local commands are invisible to teammates unless they are pushed. Even server-side logs can be sparse or incomplete. In a distributed workflow, every developer’s machine is a potential blind spot.
To answer “who accessed what and when” with precision, you need audit trails at the repository level—logs that capture every touch, every checkout, each forced update. This means recording not just commits, but also commands, timing, and user identities. Without that, you are guessing.