Files
gerrit/Gerrit快速使用指南.md
2025-12-22 17:12:39 +08:00

7.4 KiB
Raw Permalink Blame History

Gerrit 快速使用指南

🎉 恭喜Gerrit 已成功安装并运行

您的 Gerrit 访问地址:http://101.43.95.130:8080


第一步:创建管理员账户

1. 登录 Gerrit

  1. 打开浏览器,访问:http://101.43.95.130:8080
  2. 点击右上角的 "Sign In" 按钮
  3. 在登录页面,输入任意用户名(例如:admin
  4. 点击 "Sign In"

重要:由于配置了开发模式(DEVELOPMENT_BECOME_ANY_ACCOUNT),您可以使用任意用户名登录,无需密码。

2. 验证管理员权限

登录后,点击右上角用户名 → "Settings" → 左侧菜单应该显示 "Administration" 选项,说明您已经是管理员了。


第二步:创建第一个项目

方法一:通过 Web 界面创建(推荐)

  1. 登录后,点击顶部菜单 "Projects""Create Project"
  2. 填写项目信息:
    • Project Name: my-project(例如)
    • Parent: All-Projects(默认)
    • Description: 项目描述(可选)
    • Submit Type: Merge If Necessary(推荐)
    • Create initial empty commit: 勾选(推荐)
  3. 点击 "Create Project"

方法二:通过命令行创建

# 使用 SSH 连接 Gerrit
ssh -p 29418 admin@101.43.95.130 gerrit create-project my-project

第三步:配置本地 Git

1. 配置 Git 用户信息

# 设置全局用户信息
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

# 配置 Gerrit 服务器(替换 admin 为您的用户名)
git config --global review.101.43.95.130:29418.username admin

2. 克隆项目

# 方式一:通过 SSH推荐
git clone ssh://admin@101.43.95.130:29418/my-project

# 方式二:通过 HTTP
git clone http://101.43.95.130:8080/my-project

如果使用 HTTP首次克隆时可能需要输入用户名密码留空开发模式不需要密码


第四步:开发提交流程

1. 创建开发分支并修改代码

# 进入项目目录
cd my-project

# 创建特性分支
git checkout -b feature/new-feature

# 进行代码修改
echo "# My Project" > README.md
git add README.md

# 提交更改
git commit -m "Add README file"

2. 推送到 Gerrit 进行评审

关键:推送到 refs/for/master 分支(不是直接推送到 master

# 推送到评审队列
git push origin HEAD:refs/for/master

推送成功后的输出示例

remote: Resolving deltas: 100% (1/1)
remote: Processing changes: refs: 1, new: 1
remote: 
remote: SUCCESS
remote: 
remote:   http://101.43.95.130:8080/c/my-project/+/1 [NEW]
remote: 
To ssh://admin@101.43.95.130:29418/my-project
 * [new branch]      HEAD -> refs/for/master

3. 查看变更

复制 Gerrit 返回的 URL例如http://101.43.95.130:8080/c/my-project/+/1),在浏览器中打开查看变更详情。


第五步:代码评审与合并

1. 在 Web 界面进行评审

  1. 查看变更详情

    • 点击 Change 进入详情页
    • 查看文件差异Diff
    • 查看提交信息
  2. 添加评论

    • 在代码行上点击,添加行内评论
    • 在页面底部添加整体评论
  3. 评审投票

    • Code-Review:
      • +2 = 批准合并
      • +1 = 看起来不错,但需要其他人批准
      • -1 = 需要修改
      • -2 = 拒绝
    • Verified:
      • +1 = 验证通过
      • -1 = 验证失败
  4. 合并变更

    • 当满足以下条件时,变更可以自动合并:
      • Code-Review: +2
      • Verified: +1如果启用了 Verified 标签)
    • 或者管理员可以手动点击 "Submit" 按钮合并

2. 修改代码后重新推送

如果需要根据评审意见修改代码:

# 修改代码后,追加提交(会自动关联到同一个 Change
git add .
git commit --amend  # 修改最后一次提交
git push origin HEAD:refs/for/master

3. 合并后的操作

# 更新本地仓库
cd my-project
git checkout master
git pull origin master

# 删除已合并的特性分支
git branch -d feature/new-feature

常用操作

跳过评审直接推送(个人使用)

如果只是个人使用,可以配置直接推送:

# 方法一:推送到 refs/heads/master绕过评审
git push origin HEAD:refs/heads/master

# 方法二:配置项目权限,允许直接推送
# 在 Gerrit Web 界面:
# Projects → my-project → Access → Edit
# 添加权限:
#   Reference: refs/heads/*
#   Push: 允许您的用户组

查看所有项目

# 通过 SSH
ssh -p 29418 admin@101.43.95.130 gerrit ls-projects

# 在 Web 界面
访问http://101.43.95.130:8080/#/admin/projects/

查看变更列表

# 通过 SSH
ssh -p 29418 admin@101.43.95.130 gerrit query --format=JSON change:1

# 在 Web 界面
访问http://101.43.95.130:8080/#/q/status:open

服务管理命令

# 进入 Gerrit 目录
cd ~/gerrit_install/review_site

# 启动服务
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64 bin/gerrit.sh start

# 停止服务
bin/gerrit.sh stop

# 重启服务
bin/gerrit.sh restart

# 查看状态
bin/gerrit.sh status

# 查看日志
tail -f logs/gerrit.log
tail -f logs/error_log

常见问题

1. 无法访问 Web 界面

检查项

  • 服务是否运行:cd ~/gerrit_install/review_site && bin/gerrit.sh status
  • 端口是否被占用:netstat -tlnp | grep 8080
  • 防火墙是否开放端口:
    sudo firewall-cmd --permanent --add-port=8080/tcp
    sudo firewall-cmd --reload
    

2. SSH 连接失败

检查项

  • SSH 服务是否运行:检查 Gerrit 日志
  • 端口是否正确:默认 29418
  • 用户权限:确保用户已注册

3. 推送失败

常见错误

  • Permission denied: 检查项目权限配置
  • Branch refs/for/master not found: 确保推送到 refs/for/master 而不是 master
  • Authentication failed: 检查 SSH 密钥或 HTTP 认证配置

4. 忘记管理员账户

在开发模式下,第一个登录的用户自动成为管理员。如果需要添加其他管理员:

ssh -p 29418 admin@101.43.95.130 gerrit set-members --add username Administrators

下一步建议

  1. 创建项目:创建您的第一个项目仓库
  2. 配置 Git:在本地配置 Git 用户信息
  3. 推送代码:尝试推送代码进行评审
  4. 📧 配置邮件通知(可选):如果需要邮件通知功能
  5. 🔒 设置项目权限:根据需求配置项目访问权限
  6. 📦 安装插件:根据需要安装常用插件

快速参考

Git 命令速查

# 推送代码评审
git push origin HEAD:refs/for/master

# 直接推送(跳过评审)
git push origin HEAD:refs/heads/master

# 修改提交后重新推送
git commit --amend
git push origin HEAD:refs/for/master

# 查看远程分支
git ls-remote origin

Gerrit 命令行工具

# 创建项目
ssh -p 29418 admin@101.43.95.130 gerrit create-project project-name

# 查看项目列表
ssh -p 29418 admin@101.43.95.130 gerrit ls-projects

# 查看变更
ssh -p 29418 admin@101.43.95.130 gerrit query --format=JSON change:1

需要帮助?

  • 📖 查看完整安装指南:Gerrit安装使用指南.md
  • 🌐 访问 Gerrit 官方文档:https://www.gerritcodereview.com/
  • 📝 查看配置文件:~/gerrit_install/review_site/etc/gerrit.config

祝您使用愉快!🎉