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

如何在GitHub Actions中遍历git diff文件逐个提交并生成自定义提交信息

实现方案

该需求完全可以实现,修改后的完整脚本如下,你可以直接替换原来的脚本内容:

echo "*************************************************************"
echo "GIT diff:"
echo ""
git diff
echo ""
echo "*************************************************************"

# 遍历所有已跟踪的变更文件(修改、删除的文件)
for changed_file in $(git diff --name-only)
do
  # 选中当前单个变更文件准备提交
  git add "$changed_file"
  # 按要求生成提交信息,单独提交该文件
  git commit -m "Auto Commit - $changed_file file was changed"
done

git push

补充说明(新手友好)

  • 如果你需要把新增的、之前从来没提交过的文件也按这个规则逐个提交,把上面的循环部分替换成下面的代码即可:
# 同时获取所有修改/删除的文件、新增未提交的文件
all_changed_files=$(git diff --name-only; git ls-files --others --exclude-standard)
for changed_file in $all_changed_files
do
  git add "$changed_file"
  git commit -m "Auto Commit - $changed_file file was changed"
done
  • 脚本逻辑非常简单:先拿到所有有变动的文件名,逐个选中每个文件单独提交,提交信息自动用当前文件名填充,完全符合你要的格式
  • 如果没有任何文件变更,循环不会执行,不会出现提交报错的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 05:36:07