code: def _clone_command_for_github_like(git_config, dest_dir):
      """Check if a git_config param representing a GitHub (or like) repo is valid.
  
      If it is valid, create the command to git clone the repo, and run it.
  
      Args:
          git_config ((dict[str, str]): Git configurations used for cloning files,
              including ``repo``, ``branch`` and ``commit``.
          dest_dir (str): The local directory to clone the Git repo into.
  
      Raises:
          ValueError: If git_config['repo'] is in the wrong format.
          CalledProcessError: If failed to clone git repo.
      """
      is_https = git_config["repo"].startswith("https://")
      is_ssh = git_config["repo"].startswith("git@") or git_config[
          "repo"
      ].startswith("ssh://")
      if not is_https and not is_ssh:
          raise ValueError("Invalid Git url provided.")
      if is_ssh:
          _clone_command_for_ssh(git_config, dest_dir)
      elif (
          "2FA_enabled" in git_config
          and git_config["2FA_enabled"] is True
      ):
          _clone_command_for_github_like_https_2fa_enabled(
              git_config, dest_dir
          )
      else:
          _clone_command_for_github_like_https_2fa_disabled(
              git_config, dest_dir
          )
  
imports: from __future__ import absolute_import
  import os
  from pathlib import Path
  import subprocess
  import tempfile
  import warnings
  import six
  from six.moves import urllib
label_desc: Use image node_id 4 for calling a global function with example usage: _clone_command_for_github_like(git_config, dest_dir) without return types