code: def get_git_info(git_folder, verbose=False):
      
      if verbose:
          print("detect GIT info by folder: '%s'" % git_folder)
      try:
          git_info = {
              "commitid": get_commit_id(git_folder),
              "branch": get_current_branch(git_folder),
              "git_path": get_git_file_path(git_folder),
              "url": get_remote_url(git_folder),
              "scm": "unknown",
              "scm_group": "unknown",
              "scm_path": "unknown",
              "scm_link": ""
          }
          if is_git_root_dirty(git_folder):
              git_info['dirty'] = True
      except Exception as err:  # pylint: disable=broad-except
          print("GitTool exception:")
          print(err)
          return {}
  
      if isinstance(git_info['url'], str):
          match = re.search(r"github\.com:(.*)\/(.*)", git_info['url'])
          if match:
              git_info["scm"] = "github.com"
              git_info["scm_path"] = match.group(2)
              git_info["scm_group"] = match.group(1)
              scm_link_end = " %s/%s" % (git_info["scm_group"],
                                         git_info["scm_path"].replace(".git", ""))
              git_info["scm_link"] = "https://github.com/" + scm_link_end
              git_info["scm_link"] += "/tree/%s/%s" % (git_info['commitid'], git_info["git_path"])
  
      if verbose:
          print("all git_info:")
          print(git_info)
  
      return git_info
docs: Detect GIT information by folder.
  
      :param git_folder: Folder
      :param verbose: Verbosity, boolean, default is False
      :return: dict