如何重新初始化本地 .git 和本地 manifest.xml

How to repo init a local .git and local manifest.xml

在传统的方法中,我会使用这个命令来repo init和repo sync,并且有效。

repo init -u https://github.com/abc/def.git -b main -m manifest.xml

但是由于某些原因,我需要做这样的事情:

第 1 步:将存储库克隆到我的计算机

git clone https://github.com/abc/def.git

第 2 步:从本地 .git 和本地 manifest.xml 回购初始化(失败)

repo init -m manifest.xml

第 2 步失败并显示此消息“致命:需要清单 url (-u)。”

它在 git 克隆目录中。

有人知道如何从本地 git 回购和本地 manifest.xml 文件回购初始化吗?请尽可能提供代码示例,谢谢。

您有多种选择。

如果已经有一个 repo 工作区,这意味着 .repo 存在,您可以将清单复制到 .repo/manifest/manifests。假设是.repo/manifests/manifest.xml,或者重命名为.repo/manifests/my_manifest.xml以避免命名冲突。然后 运行

repo sync -m my_manifest.xml

repo init -u https://github.com/abc/def.git -b main -m my_manifest.xml
# my_manifest.xml does not have to be tracked
repo sync

如果您自己的 manifest.xml 在本地存储库 /home/you/my/ 中被跟踪,在分支 foo 上,您也可以使用

repo init -u file:///home/you/my/ -b foo -m manifest.xml
repo sync

file://可以省略

顺便说一句,清单文件中的 remote 元素也可以是本地存储库。