Statamic中Git集成无法自动推送变更的问题求助
Statamic Git自动推送失效的额外检查点
- 检查进程用户权限:确认运行Statamic/PHP-FPM的系统用户(如
www-data)拥有Git仓库的读写权限,且能访问SSH密钥(若用SSH认证)。切换到该用户执行git push --porcelain测试,而非你自己的SSH登录用户。 - 验证Git仓库远程配置:在服务器仓库目录执行
git remote -v,确认远程仓库地址正确;同时检查当前分支是否与远程分支对应(如main/master分支是否存在远程追踪)。 - 核对Statamic Git配置文件:检查
config/statamic/git.php,确保connection指向正确的仓库路径,paths包含需要同步的目录(如content/、config/statamic/),commit_message模板无语法问题。 - 查看专属Git日志:除
laravel.log外,检查Statamic控制面板的日志模块(若启用),或服务器上是否生成了Git相关的独立日志文件。 - 手动触发同步命令:执行
php artisan statamic:git:commit,观察是否能正常提交并推送变更,以此判断是触发逻辑问题还是权限/配置问题。 - 确认环境变量生效:在服务器执行
php artisan env,检查STATAMIC_GIT_ENABLED是否确实为true,避免Forge环境变量未在部署后重新加载。 - 检查Git全局配置:执行
git config --global user.name和git config --global user.email,确保Git已配置合法的提交用户信息,无此配置会导致提交失败。 - 排查Git钩子冲突:暂时重命名仓库的
.git/hooks目录,测试自动推送是否恢复,排除pre-commit、pre-push等钩子脚本拦截同步的可能。
内容的提问来源于stack exchange,提问作者Chuck Le Butt
相关产品推荐
相关产品推荐

