code: @Nullable
    public String prefixedCommitId() {
      if (abbreviatedObjectId.isPresent()) {
        String name = abbreviatedObjectId.get().name();
        return gPrefixedCommitId(name);
  
      } else if (commitId.isPresent()) {
        String name = commitId.get().name();
        return gPrefixedCommitId(name);
  
      } else {
        return null;
      }
    }
docs: <p>The (possibly) "g" prefixed <strong>abbreviated</strong> object id of a commit.</p>
  <p>
  The "g" prefix is prepended to be compatible with git's describe output, please refer to
  <b>man git-describe</b> to check why it's included.
  </p>
  <p>
  The "g" prefix is used when a tag is defined on this result. If it's not, this method yields a plain commit id hash.
  This is following git's behaviour - so any git tooling should be happy with this output.
  </p>
  <p>
  Notes about the abbreviated object id:
  Git will try to use your given abbrev length, but when it's too short to guarantee uniqueness -
  a longer one will be used (which WILL guarantee uniqueness).
  If you need the full commit id, it's always available via {@link pl.project13.jgit.DescribeResult#commitObjectId()}.
  </p>