Composer 支持通过 require 字段安装 Git 分支、标签或 commit:分支需加 dev- 前缀如 ”dev-main”;commit 需用 #连接分支如 ”dev-main#abc1234″;标签直接写版本号如 ”v6.4.0″ 或 ”1.2.3″。

可以直接在 composer.json 的 require 字段中指定 Git 分支名、标签(tag)或 commit hash,Composer 会从对应仓库拉取代码并安装。
使用分支名安装
适用于想跟踪开发中的功能分支(如 dev-feature/login 或 dev-main)。注意分支名前必须加 dev- 前缀,这是 Composer 的约定:
-
"monolog/monolog": "dev-main"→ 安装main分支最新提交 -
"your-vendor/package": "dev-develop"→ 安装develop分支
执行 composer install 或 composer update your-vendor/package 即可生效。
使用 commit hash 安装
适合需要锁定到某次精确提交的场景(例如修复了某个 bug 但尚未发版):
-
"your-vendor/package": "dev-main#abc1234"→ 安装main分支上abc1234这个 commit -
"your-vendor/package": "dev-master#7f8e9d1a"→ 指向具体 SHA-1 哈希值
注意:commit hash 必须跟在分支别名后,用 # 连接,不能单独写成 "abc1234"。
使用标签(tag)安装
标签通常对应正式版本,语法和稳定版一致,但需确保该 tag 存在于远程仓库:
-
"symfony/console": "v6.4.0"→ 安装带v前缀的 tag -
"your-vendor/package": "1.2.3"→ 安装无v前缀的 tag(取决于项目打标习惯)
如果 tag 不存在或拼写错误,Composer 会 报错提示“Could not find package……”。
临时覆盖仓库地址(可选)
若要从私有 Git 仓库或 fork 安装,可在 composer.json 中添加 repositories 配置:
"repositories": [{ "type": "vcs", "url": "https://github.com/yourname/package.git"} ]
然后照常在 require 中引用分支或 commit。Composer 会优先从你指定的仓库拉取。
基本上就这些。关键是记清格式:dev- 分支名、dev- 分支名 #commit、或标准语义化版本号(对应 tag),不复杂但容易忽略前缀和符号细节。