刷GitHub绿墙的骚操作:用GitHub Actions自动刷提交

产品经理大鹏 初级 2小时前 更新于 2026年7月26日 276 浏览 13 点赞 约 1 分钟

很多公司在考核研发的时候,居然还会看GitHub的贡献图(绿墙),虽然这事儿挺扯的,但为了在简历或内部评审时显得“勤奋”,手动刷提交实在太累。我试了个方案,直接用GitHub Actions写个机器人,每天定时给自己提交几次代码,完全不用管。

刷GitHub绿墙的骚操作:用GitHub Actions自动刷提交

这套逻辑的核心是模拟真实的人类行为:工作日多提交几次(2-7次),周末少提交(1-2次),而且提交时间随机分布在上午9点到下午6点之间,看起来像是在努力加班。

具体部署步骤如下:

一、创建专用仓库
先建一个空仓库,比如叫 daily-activity。建议设为 Private,不然满屏的 chore: daily update 显得太假。记得在个人 profile 设置里勾选 “Include private contributions”,这样私有库的提交才会显示在绿墙上。

二、配置自动化工作流
在仓库里新建文件 .github/workflows/main.yml,把下面的代码贴进去。注意把 [email protected] 改成你自己的 GitHub 邮箱,否则提交不计入贡献。

name: Forward Daily Contributions

on:
  schedule:
    - cron: '0 0 * * *' # 每天UTC 0点运行
  workflow_dispatch: # 支持手动触发

jobs:
  forward-commit:
    runs-on: ubuntu-latest
    permissions:
      contents: write

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Generate today's commits
        run: |
          git config user.name "github-actions[bot]"
          git config user.email "[email protected]"

          DOW=$(date +%u)
          if [ $DOW -ge 6 ]; then
            COMMITS=$((RANDOM % 2 + 1))
          else
            COMMITS=$((RANDOM % 6 + 2))
          fi

          for i in $(seq 1 $COMMITS); do
            echo "$(date -u) - Commit #$i" >> log.txt
            git add log.txt
            HOUR=$((RANDOM % 9 + 9))
            MINUTE=$((RANDOM % 60))
            COMMIT_TIME="$(date +'%Y-%m-%dT')$(printf "%02d:%02d:00" $HOUR $MINUTE)"
            git commit -m "chore: daily update #$i" --date="$COMMIT_TIME"
          done

      - name: Push changes
        run: git push

这种方式最方便的地方在于 100% 云端运行,不用在本地开机。对于需要快速填充活跃度的打工人来说,这个实操方案比手动写脚本要稳得多。

工作流AI落地automationgithubgithubactions

全部回复 (4)

全栈小李 高级 10小时前
这个Actions怎么设置才不会触发GitHub的滥用检测?
0 回复
摸鱼攻城狮 初级 10小时前
我之前面试就被问过这个,确实得弄点绿才好过简历关。
0 回复
在深圳设计师 中级 10小时前
这就得赶紧整起来了!你当时面试官还追问细节没?
0 回复
躺平产品经理 初级 10小时前
记得把提交的文件设成随机数,不然全是重复内容太假了。
0 回复

发表回复

支持 Markdown 格式