    def get_commits(self, limit: int, page: int, tag: str) -> requests.Response:
        """
        Get a list of all commits of a repo.

        Args:
            limit (`int`):
                Page size of results.
            page (`int`):
                Page number of results.
            tag (`str`):
                The tag name.

        Returns:
            (`Response`)
                A list of all commits of a repo.

        Raises:
            (`HTTPError`)
                Raise error in request.
        """

        url = f'{self._root}/api/v1/repos/{self._author}/{self._repo}/commits?limit={limit}&page={page}&sha={tag}'
        try:
            response = requests.get(url, allow_redirects=True)
            response.raise_for_status()
            return response
        except HTTPError as e:
            raise e
Get a list of all commits of a repo.

Args:
limit (`int`):
Page size of results.
page (`int`):
Page number of results.
tag (`str`):
The tag name.

Returns:
(`Response`)
A list of all commits of a repo.

Raises:
(`HTTPError`)
Raise error in request.
towhee/utils/hub_utils.py