151 lines
2.9 KiB
Markdown
151 lines
2.9 KiB
Markdown
# 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
|
||
```
|
||
|