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

求助:GitHub Actions FTP部署报错‘fatal: Not a Git project? Exiting...’

排查「fatal: Not a Git project? Exiting...」错误的方案

1. 检查actions/checkout步骤是否正确配置

FTP部署动作依赖仓库的Git元数据,首先确保你的工作流开头已经正确拉取了仓库代码:

- name: Checkout code
  uses: actions/checkout@v4

如果之前配置了fetch-depth: 1(浅克隆),尝试改成fetch-depth: 0拉取完整仓库历史,部分FTP动作需要完整的Git提交记录才能正常工作。

2. 验证FTP-Deploy-Action的同步根目录设置

错误日志显示Using syncroot ./ if exists,确认工作流中sync_root参数是否指向仓库根目录。如果误设为子目录,动作会在子目录执行Git命令,而子目录没有.git文件夹,就会触发错误。确保配置类似:

- name: FTP Deploy
  uses: SamKirkland/FTP-Deploy-Action@v4.3.4
  with:
    sync_root: ./
    # 其他参数...

3. 调试工作目录结构

在工作流中添加调试步骤,确认runner环境中是否存在.git文件夹:

- name: Debug workspace
  run: |
    pwd
    ls -la
    ls -la .git || echo ".git folder not found"

运行后查看日志,如果.git文件夹不存在,说明checkout步骤没有正确拉取仓库,需要排查该步骤的配置或权限问题。

4. 锁定FTP-Deploy-Action的版本

既然之前工作流正常,可能是Action版本更新引入了兼容性问题。尝试指定一个稳定的旧版本(比如v4.3.4)代替@latest,看是否能恢复正常。

5. 排查是否有清理步骤删除了.git文件夹

检查工作流中是否有后续步骤执行了删除.git的操作(比如某些构建或清理脚本),如果有,调整顺序确保FTP部署动作在清理之前执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 01:10:28