code: func (t *Tree) File(path string) (*File, error) {
  	e, err := t.FindEntry(path)
  	if err != nil {
  		return nil, ErrFileNotFound
  	}
  
  	blob, err := GetBlob(t.s, e.Hash)
  	if err != nil {
  		if err == plumbing.ErrObjectNotFound {
  			return nil, ErrFileNotFound
  		}
  		return nil, err
  	}
  
  	return NewFile(path, e.Mode, blob), nil
  }
docs: // File returns the hash of the file identified by the `path` argument.
  // The path is interpreted as relative to the tree receiver.