code: def create_git_tag(self, tag, message, object, type, tagger=github.GithubObject.NotSet):
          
          assert isinstance(tag, (str, unicode)), tag
          assert isinstance(message, (str, unicode)), message
          assert isinstance(object, (str, unicode)), object
          assert isinstance(type, (str, unicode)), type
          assert tagger is github.GithubObject.NotSet or isinstance(tagger, github.InputGitAuthor), tagger
          post_parameters = {
              "tag": tag,
              "message": message,
              "object": object,
              "type": type,
          }
          if tagger is not github.GithubObject.NotSet:
              post_parameters["tagger"] = tagger._identity
          headers, data = self._requester.requestJsonAndCheck(
              "POST",
              self.url + "/git/tags",
              input=post_parameters
          )
          return github.GitTag.GitTag(self._requester, headers, data, completed=True)
docs: :calls: `POST /repos/:owner/:repo/git/tags <http://developer.github.com/v3/git/tags>`_
          :param tag: string
          :param message: string
          :param object: string
          :param type: string
          :param tagger: :class:`github.InputGitAuthor.InputGitAuthor`
          :rtype: :class:`github.GitTag.GitTag`