code: def _get_version(version, debug=False):
      
      if not any(
          (_has_branch(version, debug), _has_tag(version, debug), _has_commit(
              version, debug))):
          cmd = sh.git.bake('fetch')
          util.run_command(cmd, debug=debug)
      cmd = sh.git.bake('checkout', version)
      util.run_command(cmd, debug=debug)
      cmd = sh.git.bake('clean', '-d', '-x', '-f')
      util.run_command(cmd, debug=debug)
      if _has_branch(version, debug):
          cmd = sh.git.bake('pull', rebase=True, ff_only=True)
          util.run_command(cmd, debug=debug)
docs: Handle switching to the specified version and return None.
  
      1. Fetch the origin.
      2. Checkout the specified version.
      3. Clean the repository before we begin.
      4. Pull the origin when a branch; _not_ a commit id.
  
      :param version: A string containing the branch/tag/sha to be exported.
      :param debug: An optional bool to toggle debug output.
      :return: None