added JavaDoc and refactoring GitRepository class