code: public static GitResetResponse gitResetHard(File repository, Ref commitName) throws IOException,
        JavaGitException {
      CheckUtilities.checkNullArgument(repository, "repository");
      CheckUtilities.checkNullArgument(commitName, "commitName");
  
      IClient client = ClientManager.getInstance().getPreferredClient();
      IGitReset gitReset = client.getGitResetInstance();
      return gitReset.gitResetHard(repository, commitName);
    }
docs: Perform a hard reset on the repository to the specified <code>CommitName</code>.
  
  @param repository
  A <code>File</code> instance for the path to the repository root (the parent
  directory of the .git directory) or a sub-directory in the working tree of the
  repository to perform reset against. This argument must represent the absolute path to
  the desired directory as returned by the <code>File.getPath()</code> method. If null
  is passed, a <code>NullPointerException</code> will be thrown.
  @param commitName
  The name of the commit to reset to. If the value is null, a
  <code>NullPointerException</code> will be thrown.
  @return The results of the reset.
  @exception IOException
  There are many reasons for which an <code>IOException</code> may be thrown.
  Examples include:
  <ul>
  <li>a directory doesn't exist</li>
  <li>access to a file is denied</li>
  <li>a command is not found on the PATH</li>
  </ul>
  @exception JavaGitException
  Thrown when there is an error making the commit.