设置本地--repo-url避免从Googlesource拉取Repo源码时出错求助
解决自定义Repo仓库的
repo init失败问题 嘿,这个问题我之前也碰到过!核心原因是你推送到Gerrit的repo仓库没带上原仓库的Git标签——Repo工具在初始化时会用git describe去匹配指定的commit哈希来确认版本信息,要是仓库里没有对应的标签,就会抛出这个"无法描述任何内容"的错误。
下面是一步步的解决方法:
1. 拉取原Repo仓库的完整标签
回到你本地克隆的https://gerrit.googlesource.com/git-repo仓库,先把所有标签拉取下来:
git fetch --tags
你可以用git tag命令确认标签已经全部拉取到本地了。
2. 把标签推送到你的Gerrit仓库
接着把这些标签一并推送到你的gerrit_url/repo仓库:
git push gerrit_url/repo --tags
这样你的自定义Repo仓库就有了所有必要的版本标签,git describe就能找到对应commit的版本信息了。
3. 清理残留后重新初始化
先删掉之前失败留下的.repo目录,再重新执行初始化命令:
rm -rf /data/aken.hsu/Work/TEST/.repo repo init -u gerrit_url/project -b branch_name --repo-url gerrit_url/repo
额外要注意的点
- 别用浅克隆(比如加了
--depth参数)克隆原git-repo仓库,浅克隆会丢失历史标签和提交记录,同样会导致git describe失败。 - 如果之后原
git-repo仓库更新了版本,记得同步新的提交和标签到你的Gerrit仓库,避免再出现类似的版本匹配问题。
内容的提问来源于stack exchange,提问作者akenhsu
相关产品推荐
相关产品推荐

