如何使用 composer create-project --prefer-source 拉取带 .git 目录的项目?

尼克
发布: 2025-11-30 08:50:41
原创
453人浏览过
使用 --prefer-source 可从源码创建项目并保留 .git 目录,前提是包的 composer.json 中配置了 source 且可访问;执行如 composer create-project laravel/laravel myapp --prefer-source 后需检查 .git 目录是否存在,结合 --keep-vcs 与 -vvv 更佳。

如何使用 composer create-project --prefer-source 拉取带 .git 目录的项目?

使用 composer create-project --prefer-source 可以从源码创建项目,同时保留版本控制信息(如 .git 目录),前提是包的源地址是通过 Git 等 VCS 托管的,并且 Composer 能正确识别并克隆源。

1. 使用 --prefer-source 的作用

--prefer-source 告诉 Composer 优先从项目的源代码仓库(如 GitHub、GitLab)克隆项目,而不是下载打包的压缩文件(dist)。这样会包含完整的 .git 目录,便于后续开发和提交。

常见场景:
  • 你想基于某个开源项目二次开发
  • 需要修改依赖包并提交更改
  • 希望保留原始提交历史

2. 基本命令格式

运行以下命令:

composer create-project vendor/package-name project-directory --prefer-source

例如,创建 Laravel 项目并保留 .git:

composer create-project laravel/laravel myapp --prefer-source

执行后,Composer 会尝试从源(如 GitHub 的 Git 仓库)克隆代码,而非下载 zip 包。

3. 确保能拉取到 .git 目录的关键点

并不是所有情况下都会生成 .git 目录。需满足以下条件:

  • 包的 composer.json 中定义了 source:维护者必须在包中配置 "source" 字段指向 Git 仓库
  • 你有权限访问该仓库:私有仓库需要配置 SSH 或 OAuth token
  • 网络可访问 Git 服务:如 github.com、gitlab.com 等

示例 source 配置:

Voicepods
Voicepods

Voicepods是一个在线文本转语音平台,允许用户在30秒内将任何书面文本转换为音频文件。

Voicepods 93
查看详情 Voicepods
"source": { "type": "git", "url": "https://github.com/laravel/laravel.git", "reference": "master" }

4. 验证是否成功获取 .git

项目创建完成后,进入目录检查:

cd project-directory
ls -la

如果看到 .git/ 目录,说明源码克隆成功。你可以执行 git log、git status 等操作。

若没有 .git 目录,可能是 Composer 回退到了 dist 下载。可通过增加 -vvv 查看详细日志:

composer create-project vendor/package --prefer-source -vvv

5. 其他建议

  • 使用 SSH 地址更稳定:确保全局配置了 SSH 密钥,避免 HTTPS 认证问题
  • 指定版本或分支:加上版本号更精确,如 dev-main1.0.0
  • 结合 --keep-vcs 使用:明确保留版本控制信息(Composer 2+ 更支持)

例如:

composer create-project laravel/laravel myapp dev-master --prefer-source --keep-vcs

基本上就这些。只要包支持源码安装,--prefer-source 就能帮你拿到带 .git 的完整项目。不复杂但容易忽略配置细节。

以上就是如何使用 composer create-project --prefer-source 拉取带 .git 目录的项目?的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号