You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Gitea中查找配置推送镜像的仓库及查看同步失败记录?

查找配置了GitHub推送镜像的仓库

方法1:直接查询PostgreSQL数据库

Gitea的镜像配置存在mirror表,推送类型的镜像direction字段值为push,且目标地址包含github.com。执行以下SQL语句即可批量获取相关仓库信息:

SELECT
    repo.name AS repo_name,
    owner.name AS owner_name,
    mirror.remote_address AS github_mirror_url
FROM
    mirror
JOIN
    repository repo ON mirror.repo_id = repo.id
JOIN
    "user" owner ON repo.owner_id = owner.id
WHERE
    mirror.direction = 'push'
    AND mirror.remote_address LIKE '%github.com%';

查询结果会列出仓库名、所有者(用户/组织)以及对应的GitHub镜像地址,不用逐个仓库手动检查。

方法2:使用Gitea命令行工具

如果服务器上能直接运行Gitea的二进制文件,用内置命令导出所有镜像仓库,再筛选目标为GitHub的推送镜像:

gitea admin repo list --all --mirror | grep -E "push.*github.com"

这个命令会输出符合条件的仓库信息,适合快速排查。

查看推送镜像同步失败的记录

方法1:查询数据库任务日志

Gitea的镜像推送任务记录存在task表,失败任务的status字段为failed,任务类型是mirror-push。执行以下SQL获取失败详情:

SELECT
    repo.name AS repo_name,
    owner.name AS owner_name,
    task.start_time AS failed_time,
    task.error AS error_message
FROM
    task
JOIN
    repository repo ON task.repo_id = repo.id
JOIN
    "user" owner ON repo.owner_id = owner.id
WHERE
    task.type = 'mirror-push'
    AND task.status = 'failed'
ORDER BY
    task.start_time DESC;

结果会按时间倒序展示失败的仓库、所有者、失败时间和具体错误信息,能直接定位到哪个仓库的推送出了问题。

方法2:查看Gitea服务器日志

Gitea的运行日志里会记录镜像推送的失败细节,默认日志路径通常是/var/log/gitea/gitea.log(如果是容器部署,可能在/data/gitea/log/gitea.log,具体看你的安装配置)。用以下命令过滤失败记录:

grep -E "mirror.*push.*failed" /var/log/gitea/gitea.log | tail -20

这个命令会输出最近20条推送失败的日志,里面包含仓库标识、错误原因(比如令牌过期、权限不足等),方便快速排查问题。

内容的提问来源于stack exchange,提问作者James Skemp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 11:15:37