如何在 repo init url -b TAG 之后更改 repo 分支/标签?

问题描述

我做到了

TAG_NAME=RQ1A.210105.003.2021.01.05.03
mkdir grapheneos-$TAG_NAME
cd grapheneos-$TAG_NAME
repo init -u https://github.com/GrapheneOs/platform_manifest.git -b refs/tags/$TAG_NAME

并编译所有内容。实际上,这不是 GrapheneOS 个人资料,而是我自己的个人资料,它有一个分支。然后,我在 fork 上的 xml 上更改了一些内容。有没有一种方法可以指向新的 TAG 而不必删除所有 repo 并再次执行 repo init?我已经花了几个小时编译所有东西,不想删除它。

解决方法

对于新的 TAG,如果您指的是 repo init 之后的 -b 中指定的那个,您只需运行 repo init -u https://github.com/GrapheneOs/platform_manifest.git -b $NEW_TAG_NAMErepo sync 来更新存储库。

下载哪些存储库以及检出哪些修订由清单决定。因此,如果您想使用特定清单,您也可以简单地将该清单复制到某处并运行 repo sync -m $path。这里的 $path 可以是清单的绝对路径,也可以是 .repo/manifests 中的相对路径(如果它被放置在 .repo/manifests 下)。