javagit/src/main/java/edu/nyu/cs/javagit/api/commands/GitReset.java
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);
  }
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);
  }
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.