javagit/src/main/java/edu/nyu/cs/javagit/api/commands/GitCheckout.java
public GitCheckoutResponse checkout(File repositoryPath, List<File> paths) throws IOException,
      JavaGitException {
    CheckUtilities.checkFileValidity(repositoryPath);
    CheckUtilities.checkNullListArgument(paths, "List of Paths");
    IClient client = ClientManager.getInstance().getPreferredClient();
    IGitCheckout gitCheckout = client.getGitCheckoutInstance();
    return gitCheckout.checkout(repositoryPath, paths);
  }
public GitCheckoutResponse checkout(File repositoryPath, List<File> paths) throws IOException,
      JavaGitException {
    CheckUtilities.checkFileValidity(repositoryPath);
    CheckUtilities.checkNullListArgument(paths, "List of Paths");
    IClient client = ClientManager.getInstance().getPreferredClient();
    IGitCheckout gitCheckout = client.getGitCheckoutInstance();
    return gitCheckout.checkout(repositoryPath, paths);
  }
For checking a file or list of files from a branch.

@param repositoryPath
path to the Git repository.
@param paths
List of file paths that are to be checked out.
@return GitCheckoutResponse object
@throws JavaGitException thrown if -
<li>if the output for &lt;git-checkout&gt; command generated an error.</li>
<li>if processBuilder not able to run the command.</li>
</ul>
@throws IOException
thrown if -
<ul>
<li>paths given do not have proper permissions.</li>
<li>paths given do not exist at all.</li>
</ul>