哪里错了ssh -p 29418 gerrit@192.168.44.2 gerrit query change:"48" | jq -r '.[0].current_revision' | xargs -I{} ssh -p 29418 gerrit@192.168.44.2 gerrit query --format=JSON change:"48",{} | jq -r '.[0].revisions[.[][0].current_revision].commit.message'
时间: 2024-03-05 15:52:53 浏览: 137
这个命令有一些语法错误。下面是修正后的命令:
```
ssh -p 29418 gerrit@192.168.44.2 gerrit query change:48 | jq -r '.[0].current_revision' | xargs -I{} ssh -p 29418 gerrit@192.168.44.2 gerrit query --current-patch-set --format=JSON {} | jq -r '.[0].revisions[.currentPatchSet.revision].commit.message'
```
这个命令的作用是:
1. 查询Change Number为48的当前版本号(current_revision),并将其结果作为xargs的参数。
2. 查询该版本号对应的变更信息,并将结果格式化为JSON。
3. 提取该变更信息中的commit消息(commit.message)字段。
需要注意的是,如果该变更有多个patch set,则只会查询最新的patch set。如果你需要查询其他patch set的commit信息,需要将命令中的"--current-patch-set"参数替换为"--patch-sets",并提供具体的patch set号。
相关问题
To ssh://192.168.0.248:29418/test_gerrit_jenkins ! [remote rejected] HEAD -> master (cannot combine normal pushes and magic pushes) ! [remote rejected] refs/for/master (cannot combine normal pushes and magic pushes) error: failed to push some refs to 'ssh://192.168.0.248:29418/test_gerrit_jenkins'
这个错误提示表明你试图在 Gerrit 上进行一个普通的 push 操作,但 Gerrit 配置了 magic push,导致 push 操作失败。在 Gerrit 上,你需要使用 magic push 来提交变更。请尝试使用 `git push origin HEAD:refs/for/master` 命令来提交变更。如果你还没有配置好 Gerrit 的 SSH 密钥,你需要先生成 SSH 密钥,然后将公钥添加到 Gerrit 的用户设置中。
repo init 卡在Downloading Repo source from ssh://gerrit-tl.balong.hisilicon.com/git-repo.git
在使用 repo 工具进行初始化操作时卡在从 ssh://gerrit-tl.balong.hisilicon.com/git-repo.git 下载源代码上,这可能是由于多种原因导致的。以下是一些可能的解决方案:
1. **检查网络连接**:确保你的设备可以访问 gerrit-tl.balong.hisilicon.com 服务器。你可以尝试使用浏览器或其他工具访问该服务器,看看是否可以成功连接。
2. **检查 SSH 密钥**:确保你的设备有正确的 SSH 密钥,以便能够访问 gerrit-tl.balong.hisilicon.com 服务器。你可以尝试使用其他设备或从其他源获取 SSH 密钥。
3. **检查 repo 版本**:确保你使用的 repo 工具版本是最新的,并且与你的其他工具和库兼容。
4. **清理缓存**:有时候,清理 repo 工具的缓存可以解决问题。你可以尝试运行以下命令来清理缓存:
```bash
repo sync --all
```
这将清除所有与 repo 相关的缓存,并尝试重新下载源代码。
5. **查看日志**:查看 repo 工具的日志文件,以获取有关错误或问题的更多信息。通常,这些日志文件位于项目的根目录下,名为 `repo-<revision>-<timestamp>.log`。
6. **重新初始化**:如果以上方法均无效,你可能需要重新初始化项目。你可以尝试使用以下命令:
```bash
repo init -u https://gerrit-tl.balong.hisilicon.com/gerrit/repo/.git/repo-user/<project-name>.git --name=<username> --email=<email>
```
替换 `<project-name>` 为你的项目名称,`<username>` 和 `<email>` 为你的用户名和电子邮件地址。这将使用正确的初始化和配置文件重新初始化项目。
请注意,这些解决方案是基于常见问题的通用建议。具体解决方案可能因你的具体情况而异。如果问题仍然存在,请提供更多关于你的环境和问题的详细信息,以便我能够提供更具体的帮助。
阅读全文