如何在 Composer 脚本中获取当前的分支名或 Git commit 信息?

admin 百科 13
Composer脚本中需用shell_exec调用git命令获取分支名、commit信息等,如git rev-parse --abbrev-ref HEAD,并写入VERSION.json;须确保环境有Git且在仓库根目录,加容错处理。

如何在 Composer 脚本中获取当前的分支名或 Git commit 信息?-第1张图片-佛山资讯网

在 Composer 脚本中直接获取 Git 分支名或 commit 信息,不能靠 Composer 自身提供,得借助系统命令(如 git)在脚本执行时动态读取。关键在于确保运行环境有 Git 可用,且项目是 Git 仓库。

使用 exec 在脚本中调用 Git 命令

Composer 的 scripts 支持 shell 命令,可用 exec()shell_exec() 执行 Git 命令并捕获输出。推荐在自定义 PHP 脚本中操作,更可控:

  • 获取当前分支名git rev-parse --abbrev-ref HEAD
  • 获取完整 commit hashgit rev-parse HEAD
  • 获取短 commit hashgit rev-parse --short HEAD
  • 检查是否干净工作区git status --porcelain(输出为空表示干净)

在 composer.json 中定义脚本并调用 PHP 处理器

先在 composer.json 里注册一个脚本,指向你的 PHP 文件:

"scripts": {
  "post-install-cmd": [
    "MyBuildScript::injectGitInfo"
  ]
}

登录后复制

然后创建 MyBuildScript.php(确保自动加载或 require 进来),内容类似:

标签: php js git json docker composer 处理器 app ai

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~