温馨提示×

Ubuntu Java代码版本控制如何进行

小樊
32
2025-12-28 02:22:52
栏目: 编程语言

Ubuntu Java代码版本控制实操指南

一 环境准备与安装

  • 安装 Git:sudo apt update && sudo apt install -y git;验证:git --version。
  • 配置全局身份:git config --global user.name “Your Name”;git config --global user.email “you@example.com”。
  • 可选:安装构建工具(Maven/Gradle)以标准化依赖与构建;后续在 CI 中固定 JDK 版本 可提升可重复性。

二 初始化仓库与远程协作

  • 新建项目:cd /path/to/java/project;git init;git add .;git commit -m “feat: init project”。
  • 克隆仓库:git clone https://github.com/your_username/your_repo.git。
  • 关联远程并推送:git remote add origin ;git branch -M main;git push -u origin main(若远程默认分支为 master,则使用 master)。
  • 日常同步:git pull --rebase origin main(减少不必要的 merge 提交)。

三 Java多版本管理与构建配置

  • 系统级切换(Ubuntu 自带):sudo apt install -y openjdk-8-jdk openjdk-11-jdk openjdk-17-jdk;sudo update-alternatives --config java;验证:java -version。
  • 项目级/多版本灵活切换:
    • jenv:git clone https://github.com/jenv/jenv.git ~/.jenv;在 ~/.bashrc 中加入 export PATH=“$HOME/.jenv/bin:$PATH” 与 eval “$(jenv init -)”;source ~/.bashrc;jenv add /usr/lib/jvm/java-11-openjdk-amd64;jenv global 11.0 或 jenv local 8.0。
    • SDKMAN!:curl -s “https://get.sdkman.io” | bash;source “$HOME/.sdkman/bin/sdkman-init.sh”;sdk install java 11.0.11-open;sdk use java 8.0.292-open;sdk default java 11.0.11-open。
  • 构建工具与 JAVA_HOME:
    • Maven:在 pom.xml 设置 <maven.compiler.source> 与 <maven.compiler.target>(如 118)。
    • Gradle:在 gradle.properties 设置 org.gradle.java.home=/usr/lib/jvm/java-11-openjdk-amd64。
  • 建议:jenv/SDKMAN! 切换后,确保构建与运行使用同一 JDK

四 协作规范与质量保障

  • 分支策略:main 稳定、develop 集成、feature/ 功能、hotfix/ 紧急修复;合并前通过 PR/代码评审
  • 提交规范:采用约定式提交(如 feat/fix/docs/style/refactor/test/chore),配合语义化版本。
  • 代码质量:使用 Checkstyle/SpotBugs/PMD;配置 Git 钩子(如 pre-commit)自动检测。
  • 持续集成:在 GitHub Actions/GitLab CI 中以矩阵固定 JDK 11/17,执行构建与测试。
  • 版本发布:结合 Git 标签(git tag v1.2.3)与构建产物归档,保证可追溯与可重复发布。

五 常用命令与常见问题

  • 常用命令:
    • 状态与历史:git status;git log --oneline --graph;git diff。
    • 分支:git branch feature/x;git switch feature/x;git checkout main;git merge feature/x 或 git rebase。
    • 远程:git remote -v;git fetch;git push -u origin main(首次推送建立上游跟踪)。
  • 常见问题:
    • 权限与认证:SSH(git@github.com:…)需配置 SSH 密钥;HTTPS 使用 Personal Access Token 或凭据存储。
    • 分支冲突:git pull --rebase 或先 git stash;冲突后编辑标记文件,git add;git rebase --continue 或 git merge --continue。
    • 误提交与回退:git reset --soft HEAD~1(保留更改);git reset --hard HEAD~1(谨慎丢弃);git revert(生成反向提交)。
    • 换行与编码:统一 .gitattributes(如 * text=auto eol=lf);避免跨平台换行差异。
    • 找不到 JDK:java -version 与 which java 检查;必要时在构建脚本中显式打印 JAVA_HOME 与版本。

0