I don't think it makes sense to keep methods like these private.

Since we're a wrapper library, there are likely to be cases where our APIs don't cover everything needed—users may want to drop down to the raw libgit2 level at that point. Even if they do that, they should still be able to interoperate with ObjectiveGit.