code: func getTree(ref *github.Reference) (tree *github.Tree, err error) {
  	// Create a tree with what to commit.
  	entries := []github.TreeEntry{}
  
  	// Load each file into the tree.
  	for _, fileArg := range strings.Split(*sourceFiles, ",") {
  		file, content, err := getFileContent(fileArg)
  		if err != nil {
  			return nil, err
  		}
  		entries = append(entries, github.TreeEntry{Path: github.String(file), Type: github.String("blob"), Content: github.String(string(content)), Mode: github.String("100644")})
  	}
  
  	tree, _, err = client.Git.CreateTree(ctx, *sourceOwner, *sourceRepo, *ref.Object.SHA, entries)
  	return tree, err
  }
docs: // getTree generates the tree to commit based on the given files and the commit
  // of the ref you got in getRef.