我如何将Git子模块的副本更改为普通的Git树

问题描述 投票:0回答:1

我刚刚开始从事主要项目的子模块的工作。此子模块得到可单独使用的构建系统的支持,并测试与模块要求有关的程序。

因此,我从超级存储库树中获取了子模块的现有副本,并将其复制到了新位置:

cd ~/wip/superrepo
cp -a submodule ../submodule_edit
cd ../submodule_edit
# Do work
git status
fatal: Not a git repository: ../.git/modules/submodule
# Aha, it needs its super repo

SO促使我考虑诸如“如何取消子模块的子模块”之类的问题。我不想将此模块更改为超级仓库的子目录。超级仓库是模块的集合,这些模块在子模块层次结构中是对等的,这很好。我只想进行此隔离的开发,开始时并没有想到要从模块自己的存储库中进行克隆。

git submodule deinit用于从其父超级存储库中注销子模块。我不需要它,而且我怀疑它是否可以工作,因为submodule_edit中的.git是指向超级仓库元数据的悬挂指针。

我认为有一些琐碎的步骤会将我的submodule_edit树变成一个正常运行的git沙箱,而不是一个孤儿。

git
1个回答
0
投票

子模块

© www.soinside.com 2019 - 2024. All rights reserved.