鏇存柊鏂囨。
This commit is contained in:
45
.obsidian/workspace.json
vendored
45
.obsidian/workspace.json
vendored
@@ -20,23 +20,8 @@
|
|||||||
"icon": "lucide-file",
|
"icon": "lucide-file",
|
||||||
"title": "cursor"
|
"title": "cursor"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "42dcaa0fed1f392a",
|
|
||||||
"type": "leaf",
|
|
||||||
"state": {
|
|
||||||
"type": "markdown",
|
|
||||||
"state": {
|
|
||||||
"file": "docs/Obsidian/2026-01-05 个人文档管理.md",
|
|
||||||
"mode": "source",
|
|
||||||
"source": false
|
|
||||||
},
|
|
||||||
"icon": "lucide-file",
|
|
||||||
"title": "2026-01-05 个人文档管理"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
"currentTab": 1
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"direction": "vertical"
|
"direction": "vertical"
|
||||||
@@ -198,8 +183,20 @@
|
|||||||
"bases:创建新数据库": false
|
"bases:创建新数据库": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"active": "42dcaa0fed1f392a",
|
"active": "5b497a77c6d68c73",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
|
"docs/gerrit/gerrit提交代码时遇到钩子问题的解决办法.md",
|
||||||
|
"docs/gerrit/gerrit分支规范.md",
|
||||||
|
"docs/gerrit/gerrit上传代码详细指南.md",
|
||||||
|
"docs/gerrit",
|
||||||
|
"gerrit/gerrit分支规范.md",
|
||||||
|
"gerrit/gerrit上传代码详细指南.md",
|
||||||
|
"docs/学习笔记/gerrit上传代码详细指南.md",
|
||||||
|
"gerrit/gerrit提交代码时遇到钩子问题的解决办法.md",
|
||||||
|
"gerrit",
|
||||||
|
"docs/Obsidian/高频命令.md",
|
||||||
|
"docs/Obsidian/欢迎.md",
|
||||||
|
"docs/Obsidian/2026-01-05 个人文档管理.md",
|
||||||
"docs/renjiabo/hello.md",
|
"docs/renjiabo/hello.md",
|
||||||
"更新部署脚本/部署脚本使用说明.md",
|
"更新部署脚本/部署脚本使用说明.md",
|
||||||
"更新部署脚本/deploy.sh",
|
"更新部署脚本/deploy.sh",
|
||||||
@@ -211,8 +208,6 @@
|
|||||||
"部署脚本使用说明.md",
|
"部署脚本使用说明.md",
|
||||||
"deploy.py",
|
"deploy.py",
|
||||||
"deploy_config.json",
|
"deploy_config.json",
|
||||||
"deploy.bat",
|
|
||||||
"deploy.sh",
|
|
||||||
"docs/index.md",
|
"docs/index.md",
|
||||||
"文档完善提示词模板.md",
|
"文档完善提示词模板.md",
|
||||||
"使用说明.md",
|
"使用说明.md",
|
||||||
@@ -225,16 +220,6 @@
|
|||||||
"docs/Obsidian笔记体系/Archive/项目-旧版ROM适配/项目A-旧版ROM适配-README.md",
|
"docs/Obsidian笔记体系/Archive/项目-旧版ROM适配/项目A-旧版ROM适配-README.md",
|
||||||
"docs/Obsidian笔记体系/Archive/领域-已废弃API研究/README.md",
|
"docs/Obsidian笔记体系/Archive/领域-已废弃API研究/README.md",
|
||||||
"docs/Obsidian笔记体系/Archive/项目-旧版ROM适配/README.md",
|
"docs/Obsidian笔记体系/Archive/项目-旧版ROM适配/README.md",
|
||||||
"docs/Obsidian笔记体系/Archive/资源-历史会议记录/README.md",
|
"docs/Obsidian笔记体系/Archive/资源-历史会议记录/README.md"
|
||||||
"docs/Obsidian笔记体系/Archive/README.md",
|
|
||||||
"docs/Obsidian笔记体系/Config/插件列表与配置.md",
|
|
||||||
"docs/Obsidian笔记体系/MOCs/高频问题索引.md",
|
|
||||||
"docs/Obsidian笔记体系/MOCs/Android Framework知识体系图.md",
|
|
||||||
"docs/Obsidian笔记体系/Daily/2024-06-02.md",
|
|
||||||
"docs/Obsidian笔记体系/Daily/2024-06-01.md",
|
|
||||||
"docs/Obsidian笔记体系/Resources/论文/移动操作系统前沿/移动系统安全研究.md",
|
|
||||||
"docs/Obsidian笔记体系/Resources/论文/移动操作系统前沿/移动边缘计算研究.md",
|
|
||||||
"docs/Obsidian笔记体系/Resources/论文/移动操作系统前沿/README.md",
|
|
||||||
"docs/Obsidian笔记体系/Resources/论文/Android系统优化论文/Android内存管理优化.md"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
50
docs/gerrit/gerrit提交代码时遇到钩子问题的解决办法.md
Normal file
50
docs/gerrit/gerrit提交代码时遇到钩子问题的解决办法.md
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
你遇到的问题是在向 Gerrit 代码审核平台推送代码时,因为提交信息(commit message)的末尾缺少 `Change-Id` 标识,导致推送被拒绝了。这是 Gerrit 的强制要求,用于追踪和管理代码评审。
|
||||||
|
|
||||||
|
### 解决方案
|
||||||
|
我会一步步教你解决这个问题,整个过程分为两步:安装 commit-msg 钩子、补全 Change-Id 并重新推送。
|
||||||
|
|
||||||
|
#### 步骤 1:安装 Gerrit 的 commit-msg 钩子
|
||||||
|
这个钩子的作用是在你每次提交代码时,自动在提交信息末尾生成 `Change-Id`。
|
||||||
|
|
||||||
|
根据你的报错信息,执行对应的命令(二选一即可):
|
||||||
|
|
||||||
|
**方式 1:使用 SSH(推荐)**
|
||||||
|
```bash
|
||||||
|
# 获取 git 目录路径并安装钩子
|
||||||
|
gitdir=$(git rev-parse --git-dir); scp -p -P 29418 renjianbo@101.43.95.130:hooks/commit-msg ${gitdir}/hooks/
|
||||||
|
|
||||||
|
# 如果你的 OpenSSH 版本 >= 9.0,需要加 -O 参数
|
||||||
|
gitdir=$(git rev-parse --git-dir); scp -O -p -P 29418 renjianbo@101.43.95.130:hooks/commit-msg ${gitdir}/hooks/
|
||||||
|
```
|
||||||
|
|
||||||
|
**方式 2:使用 HTTP/HTTPS**
|
||||||
|
```bash
|
||||||
|
# 下载钩子文件并赋予执行权限
|
||||||
|
f="$(git rev-parse --git-dir)/hooks/commit-msg"; curl -o "$f" http://101.43.95.130:8082/tools/hooks/commit-msg ; chmod +x "$f"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 步骤 2:为已有提交补充 Change-Id 并重新推送
|
||||||
|
钩子安装完成后,需要为刚才失败的提交补充 `Change-Id`:
|
||||||
|
```bash
|
||||||
|
# 修正最近一次提交,自动添加 Change-Id(--no-edit 表示不修改提交信息内容)
|
||||||
|
git commit --amend --no-edit
|
||||||
|
|
||||||
|
# 重新推送代码到 Gerrit
|
||||||
|
git push origin HEAD:refs/for/master
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 验证
|
||||||
|
执行完上述命令后,如果没有报错,且终端输出类似以下内容,说明推送成功:
|
||||||
|
```
|
||||||
|
Enumerating objects: xxx, done.
|
||||||
|
Counting objects: 100% (xxx/xxx), done.
|
||||||
|
...
|
||||||
|
remote: Processing changes: new: 1, done
|
||||||
|
To ssh://101.43.95.130:29418/zhini_im
|
||||||
|
* [new reference] HEAD -> refs/for/master
|
||||||
|
```
|
||||||
|
|
||||||
|
### 总结
|
||||||
|
1. **核心原因**:Gerrit 要求所有提交必须包含 `Change-Id` 用于代码评审追踪,你的提交缺少该标识导致推送失败。
|
||||||
|
2. **关键操作**:先安装 `commit-msg` 钩子(自动生成 Change-Id),再用 `git commit --amend --no-edit` 补全已有提交的 Change-Id,最后重新推送。
|
||||||
|
3. **后续预防**:安装钩子后,后续所有新提交都会自动生成 Change-Id,不会再出现此错误。
|
||||||
@@ -195,6 +195,10 @@ nav:
|
|||||||
- Obsidian笔记体系/Resources/论文/移动操作系统前沿/README.md
|
- Obsidian笔记体系/Resources/论文/移动操作系统前沿/README.md
|
||||||
- Obsidian笔记体系/Resources/论文/移动操作系统前沿/移动系统安全研究.md
|
- Obsidian笔记体系/Resources/论文/移动操作系统前沿/移动系统安全研究.md
|
||||||
- Obsidian笔记体系/Resources/论文/移动操作系统前沿/移动边缘计算研究.md
|
- Obsidian笔记体系/Resources/论文/移动操作系统前沿/移动边缘计算研究.md
|
||||||
|
- gerrit:
|
||||||
|
- gerrit/gerrit上传代码详细指南.md
|
||||||
|
- gerrit/gerrit分支规范.md
|
||||||
|
- gerrit/gerrit提交代码时遇到钩子问题的解决办法.md
|
||||||
|
|
||||||
markdown_extensions:
|
markdown_extensions:
|
||||||
- pymdownx.highlight:
|
- pymdownx.highlight:
|
||||||
|
|||||||
Reference in New Issue
Block a user