Ubuntu LAMP 环境中使用 Git 的完整指南
一 安装与基础配置
- 安装 Git:在服务器或本机终端执行
sudo apt update
sudo apt install git
- 基础配置(提交者身份):
git config --global user.name “Your Name”
git config --global user.email “you@example.com”
- 可选:设置默认编辑器、凭据存储与换行符策略
git config --global core.editor nano
git config --global credential.helper store
git config --global core.autocrlf input # 提交时转换为 LF,检出时不转换
- 验证安装:git --version 应输出版本号。
二 两种常见使用方式
- 方式 A 服务器直推(适合单人/简单站点)
- 进入站点目录(常见为 /var/www/html),确保当前用户拥有目录所有权:
sudo chown -R $USER:$USER /var/www/html
- 初始化仓库并首次提交:
cd /var/www/html
git init
git add .
git commit -m “Initial commit”
- 关联远程仓库并推送(HTTPS 或 SSH 二选一):
HTTPS
git remote add origin https://github.com/用户名/仓库名.git
首次推送(main 或 master,视远端默认分支而定)
git push -u origin main
或使用 SSH(推荐)
git remote set-url origin git@github.com:用户名/仓库名.git
git push -u origin main
- 后续日常:
git pull
修改后
git add .
git commit -m “描述”
git push
- 方式 B 本地开发 + 服务器拉取(更安全、推荐)
- 在本地机器克隆并开发:
git clone git@github.com:用户名/仓库名.git
修改后
git add .
git commit -m “描述”
git push
- 在服务器上拉取最新代码(无需在服务器上做提交):
cd /var/www/html
sudo chown -R $USER:$USER /var/www/html
git pull origin main
说明:生产环境建议通过 Git 钩子(hooks)或 CI/CD 自动部署,尽量避免直接在线上环境修改与提交。
三 认证与协作要点
- HTTPS 与凭据存储
- 使用个人访问令牌(PAT)或账号密码;为避免重复输入,启用凭据存储:git config --global credential.helper store。
- SSH 免密
- 生成密钥:ssh-keygen -t rsa -b 4096 -C “you@example.com”
- 将公钥(默认 ~/.ssh/id_rsa.pub)添加到 GitHub/GitLab 的 SSH Keys
- 测试:ssh -T git@github.com
- 之后使用形如 git@github.com:用户名/仓库名.git 的远程地址。
- 分支与更新
- 日常协作流程:git pull -> 修改 -> git add . -> git commit -m “” -> git push
- 查看与切换分支:git branch -a,git checkout -b feature/x,git checkout main
- 合并与冲突:git merge feature/x,冲突文件编辑后 git add、再 git commit。
四 LAMP 项目实践与注意事项
- 忽略不该纳入版本控制的文件:在项目根目录创建 .gitignore,常见内容
敏感与本地配置
.env
.htaccess
config.php
系统与依赖
.DS_Store
Thumbs.db
node_modules/
vendor/
*.log
IDE
.idea/
.vscode/
- 数据库变更管理
- 用迁移工具或导出 SQL 变更脚本纳入版本控制,便于回滚与共享:
mysqldump -u 用户名 -p 数据库名 > db_backup_$(date +%F).sql
git add db_backup_*.sql
git commit -m “Backup DB $(date +%F)”
git push
- 权限与所有权
- 确保 Web 服务用户(如 www-data)对代码目录有读取权限,必要时:
sudo chown -R $USER:www-data /var/www/html
sudo find /var/www/html -type d -exec chmod 755 {} ;
sudo find /var/www/html -type f -exec chmod 644 {} ;
- 大文件与二进制资产
- 图片、视频、压缩包等使用 Git LFS 管理:
sudo apt install git-lfs
git lfs install
git lfs track “.zip" ".psd” “*.mp4”
git add .gitattributes
git add 大文件路径
git commit -m “Add large files with LFS”
git push
- 安全与部署
- 禁止将 .env、数据库密码、密钥 等敏感信息提交到仓库
- 生产环境优先采用“本地/CI 构建 → 自动部署”流程,减少在服务器上直接操作 Git。