本文目录导读:

在PHP项目中使用Git进行版本管理,建议遵循以下最佳实践:
项目初始化
创建仓库
# 在项目目录初始化 git init # 或克隆已有仓库 git clone https://github.com/yourname/your-project.git
创建.gitignore文件
# PHP *.log vendor/ .env .env.local .phpunit.result.cache # IDE .idea/ .vscode/ *.swp *.swo # OS .DS_Store Thumbs.db # 缓存和日志 /storage/* !storage/app !storage/logs/.gitkeep # 编译文件 /dist /build /node_modules
常用Git工作流程
基础工作流
# 查看状态 git status # 添加文件 git add filename.php git add . # 添加所有变更 # 提交 git commit -m "feat: 添加用户注册功能" # 推送到远程 git push origin main
分支策略(推荐Git Flow)
main (生产分支)
└── develop (开发分支)
├── feature/user-auth
├── feature/payment
├── bugfix/login-error
└── release/1.0.0
# 创建功能分支 git checkout -b feature/add-payment develop # 完成后合并到dev git checkout develop git merge feature/add-payment git branch -d feature/add-payment
提交信息规范(Conventional Commits)
feat: 新功能
fix: 修复bug
docs: 文档更新
style: 代码格式
refactor: 重构
test: 测试相关
chore: 构建/工具
示例:
feat: 实现支付模块API接口
- 添加支付宝支付接口
- 添加微信支付接口
- 支付回调处理
Closes #123
PHP特定注意事项
配置文件管理
# 提交模板文件 cp .env.example .env git add .env.example # .env文件永远不要提交 echo ".env" >> .gitignore
composer.lock管理
# 提交composer.lock确保依赖版本一致 git add composer.json composer.lock git commit -m "chore: 更新依赖版本"
标签和发布
# 创建版本标签 git tag -a v1.2.0 -m "Release v1.2.0: 添加购物车功能" git push origin v1.2.0 # 查看标签 git tag -l
团队协作最佳实践
代码审查流程
# 推送前先拉取最新代码 git pull origin develop --rebase # 解决冲突后推送 git push origin feature/my-feature # 在GitHub/GitLab创建Pull Request
保护分支设置
main分支设为protected- 禁止直接推送到main
- 要求PR审查后方可合并
常见问题解决
撤销操作
# 撤销工作区修改 git checkout -- filename.php # 撤销暂存区 git reset HEAD filename.php # 撤销最后一次提交(保留修改) git reset --soft HEAD~1 # 完全撤销到某个版本 git reset --hard commit_hash
解决冲突
# 标记冲突文件,手动修改后 git add resolved-file.php git commit -m "fix: 解决user模块合并冲突"
自动化和部署
配置Hooks(.git/hooks)
# pre-commit hook示例:检查PHP语法
#!/bin/sh
for file in $(git diff --cached --name-only --diff-filter=ACM | grep '.php$'); do
php -l "$file" || exit 1
done
集成CI/CD
# .github/workflows/ci.yml
name: PHP CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
- run: composer install
- run: vendor/bin/phpunit
安全注意事项
- 永远不要提交包含敏感信息的文件(API密钥、密码等)
- 使用
git-secrets或类似工具防止敏感信息泄露 - 定期清理Git历史中的敏感数据(
git filter-branch)
日常操作速查表
# 开始新功能 git checkout develop git pull git checkout -b feature/new-feature # 完成功能 git add . git commit -m "feat: 完成新功能" git checkout develop git pull git merge feature/new-feature git push origin develop # 紧急修复 git checkout main git checkout -b hotfix/critical-bug # 修复并测试 git checkout main git merge hotfix/critical-bug git tag -a v1.0.1 -m "Hotfix" git push origin main --tags
这套流程能有效管理PHP项目的代码版本,提高团队协作效率,确保代码质量。