def get_changed_files(self, first_sha, second_sha, exclude_paths=None):
        """
        :param first_sha:
        :param second_sha:
        :param exclude_paths:
        :return:
        """
        if not exclude_paths:
            exclude_paths = []

        first_commit = self.repo.commit(first_sha)
        second_commit = self.repo.commit(second_sha)

        diffs = first_commit.diff(second_commit)
        changed_files = []

        for diff in diffs:
            excluded = False
            for exclude in exclude_paths:
                if diff.a_path.startswith(exclude):
                    excluded = True

            if not excluded:
                changed_files.append(diff.a_path)

        return changed_files