':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`'

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):
        url_parameters['recursive'] = recursive
    (headers, data) = self._requester.requestJsonAndCheck('GET', ((self.url + '/git/trees/') + sha), parameters=url_parameters)
    return github.GitTree.GitTree(self._requester, headers, data, completed=True)
