PHP Web应用应发布哪个目录到Git?配置文件管控最佳实践
PHP项目Git版本控制最佳实践
应该提交根目录还是仅public_html?
直接提交整个根目录到Git,而不是只提交public_html文件夹,原因如下:
composer.json和composer.lock是项目依赖管理的核心文件,必须纳入版本控制。其他开发者或部署环境通过这两个文件能精准安装一致的依赖包,避免依赖版本混乱。- 根目录的配置文件(如
config.php)即使后续要处理敏感信息,也需要保留项目结构的完整性,方便协作和部署时基于模板生成真实配置。 - 完整提交根目录能让克隆项目的开发者直接获得完整的项目环境,无需手动整理目录结构,降低协作和部署成本。
配置文件忽略的最佳实践
核心原则:永远不要提交包含敏感信息的配置文件,具体操作如下:
- 提交配置模板文件
复制config.php为config.example.php,把文件中的敏感内容(比如数据库密码、API密钥、第三方服务凭证等)替换成占位符(例如{{DB_PASSWORD}}),将这个模板文件纳入版本控制。 - 忽略真实配置文件
在.gitignore中添加config.php,确保包含敏感信息的真实配置不会被提交到仓库。 - 协作与部署流程
新开发者克隆项目后,复制config.example.php重命名为config.php,根据自身环境填写真实配置;部署到生产环境时,同样基于模板生成适配生产环境的配置文件。
推荐的.gitignore内容
针对你的项目结构,建议的.gitignore配置如下:
# 忽略包含敏感信息的配置文件 config.php # Composer自动生成的依赖目录 vendor/ # 日志文件 logs/ *.log # 临时缓存与上传文件目录 cache/ tmp/ uploads/tmp/ # IDE生成的配置与临时文件 .idea/ .vscode/ *.swp *.swo # 环境变量文件(如果使用Dotenv类工具) .env
内容的提问来源于stack exchange,提问作者vale
相关产品推荐
相关产品推荐

