tests: Reduce usage of Git worktrees in service tests
Some of our tests use worktrees to set up the repository in an expected state. This isn't great though: production doesn't run with non-bare repositories, so we shouldn't test with them either. This MR thus refactors some of our tests to use gittest.WriteTree()
and gittest.WriteCommit()
, both of which don't require a worktree, and then drops the ability to create worktrees in our Conflicts and Commits service tests.