code: def create_push(self, push, repository_id, project=None):
          
          route_values = {}
          if project is not None:
              route_values['project'] = self._serialize.url('project', project, 'str')
          if repository_id is not None:
              route_values['repositoryId'] = self._serialize.url('repository_id', repository_id, 'str')
          content = self._serialize.body(push, 'GitPush')
          response = self._send(http_method='POST',
                                location_id='ea98d07b-3c87-4971-8ede-a613694ffb55',
                                version='5.0',
                                route_values=route_values,
                                content=content)
          return self._deserialize('GitPush', response)
docs: CreatePush.
          Push changes to the repository.
          :param :class:`<GitPush> <azure.devops.v5_0.git.models.GitPush>` push:
          :param str repository_id: The name or ID of the repository.
          :param str project: Project ID or project name
          :rtype: :class:`<GitPush> <azure.devops.v5_0.git.models.GitPush>`