1. 安装Git(基础准备)
在CentOS上使用Git进行PHP代码版本控制的第一步是安装Git。通过系统包管理器yum可以快速安装:
sudo yum update -y # 更新系统软件包 sudo yum install git -y # 安装Git 安装完成后,验证Git版本以确认安装成功:
git --version 配置Git全局用户信息(用于标识提交者):
git config --global user.name "Your Name" # 替换为你的用户名 git config --global user.email "youremail@domain.com" # 替换为你的邮箱 可选:设置默认文本编辑器(如nano):
git config --global core.editor nano 2. 初始化本地Git仓库
进入PHP项目目录,初始化本地仓库:
cd /path/to/your/php/project # 切换到项目目录(如/var/www/html/myphpapp) git init # 初始化仓库,生成.git子目录 将项目文件添加到暂存区(首次提交需包含所有文件,后续可针对性添加):
git add . # 添加当前目录下所有文件 提交初始版本,添加描述性提交信息:
git commit -m "Initial commit: Set up PHP project structure" 3. 关联远程仓库(团队协作必备)
在GitHub、GitLab或Bitbucket等平台创建远程仓库(如my-php-app),获取仓库地址(如git@github.com:yourusername/my-php-app.git)。将本地仓库与远程仓库关联:
git remote add origin git@github.com:yourusername/my-php-app.git # 关联远程仓库 git push -u origin main # 推送本地main分支到远程仓库(若远程分支为master,替换为master) 后续可直接使用git push和git pull同步代码。
4. 分支管理(隔离开发任务)
采用功能分支工作流(推荐),将不同功能开发、bug修复隔离到独立分支,避免影响主分支(main/master)的稳定性:
git checkout -b feature/user-login # 从main分支创建并切换到feature/user-login分支 git add login.php # 添加修改的文件 git commit -m "feat: add user login functionality" # 描述性提交信息(遵循Conventional Commits规范) git checkout main # 切换回主分支 git merge feature/user-login # 将功能分支合并到主分支 git branch -d feature/user-login # 删除本地分支 git push origin main # 推送主分支更新 5. 标签管理(标记重要版本)
使用标签标记PHP项目的正式发布版本(如v1.0.0、v2.0.0),便于后续快速回溯:
git tag v1.0.0 # 创建轻量级标签(指向当前提交) git push origin v1.0.0 # 推送标签到远程仓库 若需添加注释(推荐):
git tag -a v1.0.0 -m "Release version 1.0.0: Stable PHP application with user login" # 创建附注标签 git push origin v1.0.0 # 推送附注标签 6. 常见操作与最佳实践
git status git log --oneline # 简洁格式(显示提交哈希和信息) git reset撤销(谨慎使用,会删除本地提交):git reset --soft HEAD~1 # 撤销最近一次提交(保留变更到暂存区) git reset --mixed HEAD~1 # 撤销最近一次提交(保留变更到工作区,默认选项) git reset --hard HEAD~1 # 彻底撤销最近一次提交(丢弃所有变更) git status查看冲突文件,手动编辑解决冲突(删除<<<<<<<、=======、>>>>>>>标记),然后重新提交:git add conflict_file.php # 标记冲突已解决 git commit -m "fix: resolve merge conflict" 7. 结合Composer优化依赖管理
PHP项目通常依赖第三方库(如Laravel、Symfony),使用Composer管理依赖可避免手动下载和更新:
composer init # 创建composer.json文件(定义项目依赖) monolog/monolog日志库):composer require monolog/monolog # 自动下载依赖并更新composer.json和composer.lock composer update # 更新所有依赖到最新版本(遵循composer.json的版本约束) composer update monolog/monolog # 更新指定依赖 composer.json和composer.lock:确保团队成员使用相同版本的依赖:git add composer.json composer.lock git commit -m "chore: update dependencies"