docs: def push_new_version(gh_token: str = None, owner: str = None, name: str = None):
      """
      Runs git push and git push --tags.
  
      :param gh_token: Github token used to push.
      :param owner: Organisation or user that owns the repository.
      :param name: Name of repository.
      :raises GitError: if GitCommandError is raised
      """
  
      check_repo()
      server = 'origin'
      if gh_token:
          server = 'https://{token}@{repo}'.format(
              token=gh_token,
              repo='github.com/{owner}/{name}.git'.format(owner=owner, name=name)
          )
  
      try:
          repo.git.push(server, 'master')
          repo.git.push('--tags', server, 'master')
      except GitCommandError as error:
          message = str(error)
          if gh_token:
              message = message.replace(gh_token, '[GH_TOKEN]')
          raise GitError(message)