如何用已检出的提交/分支更新manifest.xml?(转git-repo场景)
从git submodules切换到git-repo后,保存各仓库当前状态到manifest的操作方法
先确认各仓库当前状态(可选但建议做)
用repo status能快速查看所有仓库的当前分支、提交情况;单个仓库里可以用git branch看分支,git tag看标签,git rev-parse HEAD拿到当前提交的哈希值,避免后续操作错漏。导出包含当前状态的manifest文件
直接用repo manifest命令把所有仓库的实际状态(分支、标签或提交哈希)导出成新的manifest:repo manifest -o updated_manifest.xml这个命令会自动遍历所有仓库,把每个仓库当前对应的分支名、标签名或者提交哈希写入生成的文件里——比如原本统一拉master的仓库,如果你切换到了自己的开发分支,或者停在某个特定提交上,导出的manifest里该仓库的
revision字段就会变成对应的内容,不再是默认的master。更新原有manifest(按需操作)
如果要直接替换原来的manifest.xml,直接覆盖就行:repo manifest -o manifest.xml之后把这个更新后的manifest提交到你的manifest仓库,后续其他人用
repo sync就能拉取到和你当前一致的代码版本。几个注意点
- 如果仓库处于游离HEAD状态(比如切到了某个具体提交而非分支),导出的
revision会是完整的提交哈希。 - 如果仓库在某个标签上,
revision会显示标签名;在分支上就显示分支名。 - 切换到git-repo后,团队里只要同步这个更新后的manifest,就能保证大家的代码版本一致。
- 如果仓库处于游离HEAD状态(比如切到了某个具体提交而非分支),导出的
内容的提问来源于stack exchange,提问作者無名前
相关产品推荐
相关产品推荐

