code: def get_git_tree(self, sha, recursive=github.GithubObject.NotSet):
          
          assert isinstance(sha, (str, unicode)), sha
          assert recursive is github.GithubObject.NotSet or isinstance(recursive, bool), recursive
          url_parameters = dict()
          if recursive is not github.GithubObject.NotSet and recursive:
              # GitHub API requires the recursive parameter be set to 1.
              url_parameters["recursive"] = 1
          headers, data = self._requester.requestJsonAndCheck(
              "GET",
              self.url + "/git/trees/" + sha,
              parameters=url_parameters
          )
          return github.GitTree.GitTree(self._requester, headers, data, completed=True)
docs: :calls: `GET /repos/:owner/:repo/git/trees/:sha <http://developer.github.com/v3/git/trees>`_
          :param sha: string
          :param recursive: bool
          :rtype: :class:`github.GitTree.GitTree`