javagit/src/main/java/edu/nyu/cs/javagit/client/cli/CliGitCheckout.java
public GitCheckoutResponse checkout(File repositoryPath, GitCheckoutOptions options, Ref ref)
            throws JavaGitException, IOException {
        CheckUtilities.checkFileValidity(repositoryPath);
        checkRefAgainstRefType(ref, RefType.HEAD);
        List<String> command = buildCommand(options, ref);
        GitCheckoutParser parser = new GitCheckoutParser();
        GitCheckoutResponse response = (GitCheckoutResponse) ProcessUtilities.runCommand(repositoryPath,
                command, parser);
        return response;
    }
public GitCheckoutResponse checkout(File repositoryPath, GitCheckoutOptions options, Ref ref)
            throws JavaGitException, IOException {
        CheckUtilities.checkFileValidity(repositoryPath);
        checkRefAgainstRefType(ref, RefType.HEAD);
        List<String> command = buildCommand(options, ref);
        GitCheckoutParser parser = new GitCheckoutParser();
        GitCheckoutResponse response = (GitCheckoutResponse) ProcessUtilities.runCommand(repositoryPath,
                command, parser);
        return response;
    }
Git checkout with options and base branch information provided to &lt;git-checkout&gt; command.