docs: def from_full_message(commit_msg_str):
          """  Parses a full git commit message by parsing a given string into the different parts of a commit message """
          all_lines = commit_msg_str.splitlines()
          try:
              cutline_index = all_lines.index(GitCommitMessage.CUTLINE)
          except ValueError:
              cutline_index = None
          lines = [line for line in all_lines[:cutline_index] if not line.startswith(GitCommitMessage.COMMENT_CHAR)]
          full = "\n".join(lines)
          title = lines[0] if lines else ""
          body = lines[1:] if len(lines) > 1 else []
          return GitCommitMessage(original=commit_msg_str, full=full, title=title, body=body)