code: def test_gc_without_workspace_on_tags_branches_commits(tmp_dir, dvc):
      dvc.gc(force=True, all_tags=True)
      dvc.gc(force=True, all_commits=True)
      dvc.gc(force=False, all_branches=True)
  
      # even if workspace is disabled, and others are enabled, assume as if
      # workspace is enabled.
      dvc.gc(
          force=False,
          all_branches=True,
          all_commits=False,
          workspace=False,
      )
  
imports: import datetime
  import logging
  import os
  import shutil
  import textwrap
  import pytest
  from dvc.cli import main
  from dvc.exceptions import CollectCacheError, InvalidArgumentError, RevCollectionError
  from dvc.fs import LocalFileSystem
  from dvc.utils.fs import remove
  from dvc_data.hashfile.db.local import LocalHashFileDB
label_desc: Use image node_id 12 for calling a global function with example usage: test_gc_without_workspace_on_tags_branches_commits(tmp_dir, dvc) without return types