Files
gerrit/SSH配置成功-继续推送.md
2025-12-22 17:12:39 +08:00

2.9 KiB
Raw Permalink Blame History

SSH 配置成功 - 继续推送代码

SSH 连接已成功

您已经成功连接到 Gerrit现在可以配置 Git 并推送代码了。

下一步操作

在 Git Bash 中执行:

# 1. 确保在项目目录
cd /d/zhini/zhini_im

# 2. 删除旧的远程仓库(如果存在)
git remote remove gerrit 2>/dev/null || true

# 3. 添加 SSH 远程仓库
git remote add gerrit ssh://admin@101.43.95.130:29418/zhini_im

# 4. 验证远程仓库配置
git remote -v

# 5. 查看当前分支
git branch

# 6. 提交所有更改(如果有未提交的)
git add .
git commit -m "Update code before push to Gerrit"

# 7. 推送代码到 Gerrit
# 方式 A直接推送到主分支首次上传
git push gerrit master:refs/heads/master

# 或方式 B推送到评审队列推荐用于后续更新
git push gerrit master:refs/for/master

推送方式说明

直接推送(首次上传)

git push gerrit master:refs/heads/master
  • 直接更新主分支
  • 适用于首次上传
  • 跳过代码评审流程

推送到评审队列(推荐)

git push gerrit master:refs/for/master
  • 进入代码评审流程
  • 需要评审后才能合并
  • 符合 Gerrit 工作流程
  • 推荐用于:日常开发、团队协作

如果当前分支不是 master

如果您的当前分支是 rjb_dev 或其他分支:

# 查看当前分支
git branch

# 推送当前分支到 master
git push gerrit rjb_dev:refs/heads/master

# 或推送到评审队列
git push gerrit rjb_dev:refs/for/master

验证推送

推送成功后:

  1. 访问项目页面

    http://101.43.95.130:8080/#/admin/projects/zhini_im
    
  2. 查看变更

    http://101.43.95.130:8080/#/q/project:zhini_im
    
  3. 浏览代码

    http://101.43.95.130:8080/#/admin/projects/zhini_im,general
    

常见问题

Q: 推送时提示 "remote rejected"

A: 可能的原因:

  1. 项目不存在 → 先在 Gerrit 创建项目
  2. 没有推送权限 → 检查项目权限配置
  3. 分支保护 → 使用 refs/for/master 推送到评审队列

Q: 如何查看远程仓库?

git remote -v

应该显示:

gerrit  ssh://admin@101.43.95.130:29418/zhini_im (fetch)
gerrit  ssh://admin@101.43.95.130:29418/zhini_im (push)

Q: 如何测试 SSH 连接?

# 测试连接并查看 Gerrit 版本
ssh -p 29418 admin@101.43.95.130 gerrit version

# 应该显示gerrit version 3.9.0

后续操作

日常开发流程

# 1. 修改代码
# 2. 提交更改
git add .
git commit -m "描述您的更改"

# 3. 推送到评审队列
git push gerrit master:refs/for/master

# 4. 在 Gerrit Web 界面进行评审
# 5. 评审通过后,代码会自动合并

克隆项目(其他团队成员)

# 使用 SSH
git clone ssh://admin@101.43.95.130:29418/zhini_im

# 或使用 HTTP
git clone http://101.43.95.130:8080/zhini_im