code: def _remove_commited_exps(
      scm: "Git",
      exp_refs_list: Iterable["ExpRefInfo"],
      remote: Optional[str],
  ) -> List[str]:
      if remote:
          from dvc.scm import TqdmGit
  
          for ref_info in exp_refs_list:
              with TqdmGit(desc="Pushing git refs") as pbar:
                  push_refspec(
                      scm,
                      remote,
                      [(None, str(ref_info))],
                      progress=pbar.update_git,
                  )
      else:
          from .utils import remove_exp_refs
  
          remove_exp_refs(scm, exp_refs_list)
      return [exp_ref.name for exp_ref in exp_refs_list]
  
file_path: dvc/dvc/repo/experiments/remove.py
imports: from typing import TYPE_CHECKING, Dict, Iterable, List, Optional, Union
  from dvc.log import logger
  from dvc.repo import locked
  from dvc.repo.scm_context import scm_context
  from dvc.scm import Git, iter_revs
  from .exceptions import UnresolvedExpNamesError
  from .utils import exp_refs, exp_refs_by_baseline, push_refspec
label_desc: Use image node_id 3 for calling a global function with example usage: _remove_commited_exps(scm, exp_refs_list, remote) and returns: unknown