code: def commit(self, message, parent_commits=None, head=True, author=None,
                 committer=None, author_date=None, commit_date=None,
                 skip_hooks=False):
          
          if not skip_hooks:
              run_commit_hook('pre-commit', self)
  
              self._write_commit_editmsg(message)
              run_commit_hook('commit-msg', self, self._commit_editmsg_filepath())
              message = self._read_commit_editmsg()
              self._remove_commit_editmsg()
          tree = self.write_tree()
          rval = Commit.create_from_tree(self.repo, tree, message, parent_commits,
                                         head, author=author, committer=committer,
                                         author_date=author_date, commit_date=commit_date)
          if not skip_hooks:
              run_commit_hook('post-commit', self)
          return rval
docs: Commit the current default index file, creating a commit object.
          For more information on the arguments, see tree.commit.
  
          :note: If you have manually altered the .entries member of this instance,
                 don't forget to write() your changes to disk beforehand.
                 Passing skip_hooks=True is the equivalent of using `-n`
                 or `--no-verify` on the command line.
          :return: Commit object representing the new commit