code: def commit_index(self, message):
          
          tree_id = self.write_tree()
  
          args = ['commit-tree', tree_id, '-p', self.ref_head]
  
          # todo, this can end in a race-condition with other processes adding commits
          commit = self.command_exec(args, message)[0].decode('utf-8').strip()
          self.command_exec(['update-ref', self.ref_head, commit])
  
          return commit
docs: Commit the current index.
          :param message: str
          :return: str the generated commit sha