code: public void pushAllChangesToGit() throws IOException {
          if (localRepository == null) {
              throw new IOException("Git has not been created, call createGitRepositoryFirst");
          }
          try {
              UserService userService = new UserService();
              userService.getClient().setOAuth2Token(oAuthToken);
              User user = userService.getUser();
              String name = user.getLogin();
              String email = user.getEmail();
              if (email == null) {
                  // This is the e-mail addressed used by GitHub on web commits where the users mail is private. See:
                  // https://github.com/settings/emails
                  email = name + "@users.noreply.github.com";
              }
  
              localRepository.add().addFilepattern(".").call();
              localRepository.commit()
                      .setMessage("Initial commit")
                      .setCommitter(name, email)
                      .call();
              PushCommand pushCommand = localRepository.push();
              addAuth(pushCommand);
              pushCommand.call();
          } catch (GitAPIException e) {
              throw new IOException("Error pushing changes to GitHub", e);
          }
      }
docs: Must be called after #{createGitRepository()}