repoA
repoB
repoA, repoB 都是 Git 仓库。
想转换为一下结构
repoA
repoB
mv repoB repoA
git submodule add ./repoB/ repoB
# 'repoB' already exists in the index
git submodule add -- https://github.com/[repoB] repoB
# 'repoB' already exists in the index
求大神指点啊。
1
yzlnew 2019-09-26 12:56:02 +08:00
|
2
compilerhero 2019-09-26 12:58:21 +08:00
你不应该把 repoB 移动到 repoA 中, 而是应该直接在 repoB 里需要 repoA 的地方添加 submodule. 一个 submodule 实际上是对另一个 repository 的引用.
|
3
LudwigWS OP @compilerhero
@yzlnew 因为本地我已经有这两个仓库了。如果删了 repoB,再执行 `git submodule add` 我想是可以的,但是这会从远程进行 `clone`。 我想是否有方法在本地就进行 repo 到 submodule 的结构转换。 |
4
compilerhero 2019-09-26 13:22:11 +08:00
@LudwigWS 可以的. 添加 submodule 时和克隆时引用源 repository 的方式是一样的. 如果你有一个本地的 repoB 副本, 只要使用指向它的路径就可以, 比如 `git submodule add D:\work\repoB\.git repoB` (我觉得这么做并不好). 你添加的 submodules 都会出现在 .gitmodules 文件里.
|
5
LudwigWS OP @compilerhero 但是我不想指向本地的地址。😅。太难了,我还是删了重新克隆观察一下。
|
6
IMCA1024 2019-09-26 16:14:26 +08:00
subtree?
|
7
jtnwm 2019-09-27 05:55:10 +08:00
在 add 的时候添加 --reference 参数指向本地 repoB,会使用本地 repoB 中已有的对象。
|