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"