# SSH 配置成功 - 继续推送代码 ## ✅ SSH 连接已成功 您已经成功连接到 Gerrit,现在可以配置 Git 并推送代码了。 ## 下一步操作 ### 在 Git Bash 中执行: ```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 ``` ## 推送方式说明 ### 直接推送(首次上传) ```bash git push gerrit master:refs/heads/master ``` - ✅ 直接更新主分支 - ✅ 适用于首次上传 - ❌ 跳过代码评审流程 ### 推送到评审队列(推荐) ```bash git push gerrit master:refs/for/master ``` - ✅ 进入代码评审流程 - ✅ 需要评审后才能合并 - ✅ 符合 Gerrit 工作流程 - 推荐用于:日常开发、团队协作 ## 如果当前分支不是 master 如果您的当前分支是 `rjb_dev` 或其他分支: ```bash # 查看当前分支 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: 如何查看远程仓库? ```bash 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 连接? ```bash # 测试连接并查看 Gerrit 版本 ssh -p 29418 admin@101.43.95.130 gerrit version # 应该显示:gerrit version 3.9.0 ``` ## 后续操作 ### 日常开发流程 ```bash # 1. 修改代码 # 2. 提交更改 git add . git commit -m "描述您的更改" # 3. 推送到评审队列 git push gerrit master:refs/for/master # 4. 在 Gerrit Web 界面进行评审 # 5. 评审通过后,代码会自动合并 ``` ### 克隆项目(其他团队成员) ```bash # 使用 SSH git clone ssh://admin@101.43.95.130:29418/zhini_im # 或使用 HTTP git clone http://101.43.95.130:8080/zhini_im ```