在 Ubuntu 上对 JSP 项目进行版本控制

一 环境准备与核心流程
想把 JSP 项目的开发过程管理得井井有条?版本控制是第一步。下面这个流程,可以说是从零搭建 Git 管理的基础骨架。
- 安装与配置 Git
- 首先,确保系统包列表是最新的,然后安装 Git:
sudo apt update && sudo apt install git。 - 安装完成后,别忘了设置全局身份标识,这就像是给你的每次提交“签名”:
git config --global user.name “Your Name”、git config --global user.email “your_email@example.com”。
- 首先,确保系统包列表是最新的,然后安装 Git:
- 初始化本地仓库
- 进入你的 JSP 项目根目录:
cd /path/to/your/jsp/project。 - 执行初始化命令,将这个目录变为 Git 可管理的仓库:
git init。
- 进入你的 JSP 项目根目录:
- 跟踪与提交
- 将项目文件添加到暂存区:使用
git add .添加所有文件,或者指定具体的文件或目录。 - 进行第一次提交,为项目创建一个历史起点:
git commit -m “Initial commit”。
- 将项目文件添加到暂存区:使用
- 远程仓库与推送
- 在 GitHub、GitLab 或 Bitbucket 等平台创建一个空仓库,并复制其提供的 HTTPS 或 SSH URL。
- 回到本地,将远程仓库地址关联起来:
git remote add origin。 - 最后,将本地提交推送到远程。注意,默认分支名可能是 master 或 main,根据情况使用:
git push -u origin master或git push -u origin main。
二 日常协作与常用命令
基础打好了,日常开发中这些命令会成为你的高频操作。
- 查看状态与历史:想了解工作区和暂存区的状态?
git status一目了然。回顾提交历史,则用git log。 - 分支管理:新功能开发最好在独立分支上进行。创建并切换分支:
git checkout -b feature/login;切换回主分支:git checkout main;功能完成后合并到主分支:git merge feature/login。 - 同步远程变更:团队协作时,记得定期拉取最新代码:
git pull origin main(或 master)。 - 克隆现有仓库:要参与已有项目?一条命令即可获取完整代码库:
git clone。 - 忽略构建产物与敏感信息:在项目根目录创建
.gitignore文件至关重要,它能避免将无关或敏感文件纳入版本控制。常见需要忽略的内容包括:- 编译产物:
*.class、*.war、*.jar - 构建目录:
/target/、/build/、/out/ - 日志文件:
/logs/、*.log - IDE 配置文件:
.idea/、*.iml、.settings/、.project(如果使用 IDEA 或 Eclipse) - 本地配置文件:例如包含数据库密码的
/src/main/resources/*.properties。如果需要保留配置示例,可以改为忽略具体文件而保留示例文件,如/src/main/resources/*.properties.example。
- 编译产物:
三 与 Tomcat 协作的两种部署方式
代码管理好了,如何让它跑在 Tomcat 服务器上?这里有两种主流思路。
- 外部构建 + 部署包
- 这种方式更清晰。在开发机或持续集成(CI)环境中完成构建(例如使用 Ma ven 执行
mvn package生成target/app.war),然后将生成的 WAR 包部署到 Tomcat 的 webapps 目录(例如/var/lib/tomcat9/webapps/,具体路径因安装方式而异),Tomcat 会自动解压并运行。需要强调的是,提交到 Git 仓库的应该是源代码和构建脚本,而不是最终的 WAR 包。
- 这种方式更清晰。在开发机或持续集成(CI)环境中完成构建(例如使用 Ma ven 执行
- 服务器内拉取更新(适合简单项目)
- 对于小型或测试项目,也可以直接在服务器上操作。将项目目录放在 Tomcat 的 webapps 目录下,例如
/var/lib/tomcat9/webapps/your_app/,然后在此目录内执行git pull获取最新代码,随后重启 Tomcat 服务即可。- 重启 Tomcat 的命令示例:
sudo systemctl restart tomcat9。
- 重启 Tomcat 的命令示例:
- 为了提高效率,可以编写一个简单的部署脚本
deploy.sh:- 脚本内容:
#!/bin/bash cd /var/lib/tomcat9/webapps/your_app git pull origin main sudo systemctl restart tomcat9 - 记得给脚本添加执行权限:
chmod +x deploy.sh。
- 脚本内容:
- 必须提醒的是,对于生产环境,强烈建议采用更安全、规范的流程(例如:CI 构建 → 产物部署 → 完备的回滚预案),应避免直接在线上服务器执行
git pull和重启操作,以减少风险。
- 对于小型或测试项目,也可以直接在服务器上操作。将项目目录放在 Tomcat 的 webapps 目录下,例如
四 备份与回滚策略
有备无患。除了版本控制,额外的备份和回滚机制能为项目加上双保险。
- 版本回滚
- 查看简洁的提交历史:
git log --oneline。 - 如果需要撤销某次提交但保留历史记录(更安全),使用:
git revert。 - 如果需要将分支指针直接移动到某个历史提交(谨慎使用,会丢失之后的提交),使用:
git reset --hard。
- 查看简洁的提交历史:
- 文件级备份与恢复
- 使用 rsync 进行高效的增量备份:
rsync -a vzh /var/lib/tomcat9/webapps/your_app /path/to/backup/your_app_$(date +%F)。 - 需要恢复时,反向操作即可:
rsync -a vzh /path/to/backup/your_app_2025-12-10 /var/lib/tomcat9/webapps/your_app。
- 使用 rsync 进行高效的增量备份:
- 系统级备份工具
- 如果希望有图形化界面和定时备份功能,可以安装 Deja Dup:
sudo apt install deja-dup,之后在图形界面中选择要备份的目录进行设置和操作,还原也相当方便。
- 如果希望有图形化界面和定时备份功能,可以安装 Deja Dup:
