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

如何实现新建分支时自动编辑changes.md并同步changes.txt的GitHub Workflow?

需求完全可实现,以下是具体的GitHub Workflow配置方案

核心逻辑

借助GitHub Actions的分支创建事件触发Workflow,自动完成changes.md的初始化/编辑、changes.txt内容追加,最后提交推送修改至新分支。

完整Workflow配置(.github/workflows/update-changes.yml)

name: Update Changes on Branch Creation

on:
  create:
    types: [branch]

jobs:
  update-changes-file:
    runs-on: ubuntu-latest
    steps:
      - name: 检出新分支代码
        uses: actions/checkout@v4
        with:
          ref: ${{ github.ref_name }}

      - name: 配置Git提交身份
        run: |
          git config --global user.name "GitHub Actions"
          git config --global user.email "actions@github.com"

      - name: 写入分支基础信息到changes.md
        run: |
          # 提取分支相关变量
          BRANCH_NAME="${{ github.ref_name }}"
          CREATOR="${{ github.event.sender.login }}"
          CREATED_TIME=$(date +"%B %d, %Y @ %I:%M:%S %p")

          # 初始化或追加内容
          if [ ! -f changes.md ]; then
            echo "# Changes" > changes.md
          fi
          echo -e "\n- This branch is titled $BRANCH_NAME" >> changes.md
          echo "- This branch was made by $CREATOR" >> changes.md
          echo "- This branch was made on $CREATED_TIME" >> changes.md

      - name: 追加changes.txt操作记录到changes.md
        run: |
          if [ -f changes.txt ]; then
            echo -e "\n## 操作记录" >> changes.md
            while IFS= read -r line; do
              echo "- $line" >> changes.md
            done < changes.txt
          fi

      - name: 提交并推送修改
        run: |
          git add changes.md
          git commit -m "Update changes.md with branch info and operation records"
          git push

关键细节说明

  • 触发时机:仅在新分支创建时触发Workflow,避免其他操作干扰
  • 信息获取:通过GitHub内置环境变量直接获取分支名、创建者信息,日期时间用date命令生成符合示例的格式
  • 文件处理逻辑:
    • 自动判断changes.md是否存在,不存在则初始化标题
    • 若changes.txt存在,将每行内容添加列表前缀后追加到changes.md,并通过二级标题区分模块
  • 提交推送:使用GitHub Actions默认身份完成代码提交,无需额外配置权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 23:30:57