从空提交到流水线触发,完整理解 git commit -m --allow-empty
看到 git commit -m <message> --allow-empty 这一类命令时,最容易产生的误解,是把它理解成一种专门用来启动 CI/CD 的 Git 命令。实际上 Git 完全不知道什么是 Jenkins、GitHub Actions、GitLab CI/CD,也不知道什么叫 pipeline。这里真正发生的是,Git 被要求创建一个新的 commit,而且即使这个 commit 与前一个 commit 对应的文件快照完全相同,也允许创建。随后,如果再执行 git push,远程仓库发现某个 branch 的 commit 指针发生变化,就可能产生一个 push 事件,CI/...