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

配置GitHub Action在Push时用Black格式化指定文件夹失败,疑问路径设置

问题解答

你把要格式化的文件路径填写在src:行里的想法并没有错误——src正是psf/black这个GitHub Action用来指定需要格式化的目标文件或目录的官方参数。

你的Action没成功格式化文件,大概率是其他原因导致的,常见问题及解决方向如下:

  • 路径准确性问题:Ubuntu系统是大小写敏感的,确认./folder_of_files_to_reformat/是仓库中真实存在的相对路径,拼写、大小写完全匹配。如果目录不存在,Black不会执行任何格式化操作。
  • 缺少自动提交步骤:psf/black Action只会在 runner 环境中完成代码格式化,但不会自动把修改后的代码推回仓库。如果需要自动提交格式化结果,得添加额外的Git提交推送步骤。
  • 权限不足:默认情况下GitHub Action的权限不足以推送代码,需要在job中配置permissions: contents: write来赋予写入权限。
  • Action版本或配置问题:actions/checkout@v2版本较旧,建议升级到v4;同时stable标签对应的Black版本可能偏旧,也可以尝试指定具体版本(比如psf/black@v23.10.0)。

以下是补充了自动提交逻辑的修正版配置示例:

name: Format code on push with Black

on: [push]

jobs:
  lint:
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - uses: psf/black@stable
        with:
          src: './folder_of_files_to_reformat/'
      - name: Commit formatted code
        run: |
          git config --local user.name "github-actions[bot]"
          git config --local user.email "github-actions[bot]@users.noreply.github.com"
          git add ./folder_of_files_to_reformat/
          git diff --quiet || git commit -m "Format code with Black"
          git push

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 08:50:42