我正在尝试创建一个新的存储库并向其中添加两个项目。其中一个项目已经在 Git 源代码控制下,所以我复制了该项目并删除了 .git 文件夹并删除了我拥有的存储库。当我将项目添加到我的存储库时,不受源代码控制的项目会被很好地添加,但另一个会被添加为子模块(GitHub 上的绿色文件夹)。
我尝试通过对其进行删除子模块git rm --cached
,但它仍然存在,我无法将项目的文件添加到存储库中。
我正在尝试创建一个新的存储库并向其中添加两个项目。其中一个项目已经在 Git 源代码控制下,所以我复制了该项目并删除了 .git 文件夹并删除了我拥有的存储库。当我将项目添加到我的存储库时,不受源代码控制的项目会被很好地添加,但另一个会被添加为子模块(GitHub 上的绿色文件夹)。
我尝试通过对其进行删除子模块git rm --cached
,但它仍然存在,我无法将项目的文件添加到存储库中。
rm -rf path_to_submodule
rm -rf .git/path_to_submodule
rm .gitmodules
git commit -am "removing submodule"
git push
.gitmodules
应该不存在 e.git/
不应该有来自子模块的引用
检查:
git ls-files | grep submodule_name
find . | grep submodule_name
最后:
git submodule add git@git.whatever.com.br:johndoe/johndoe_repo.git johndoe_branch/johndoe_repo --force
--force
如果您的文件系统中已有该文件夹,则为可选
你试过新鲜结帐了吗?似乎没有git submodule remove
,所以您必须手动编辑.gitmodules
.
如果您想使用签出的副本将模块 X(已经在版本控制下)添加到模块 Y(新的):
.gitmodule
(如果有,那就更复杂了)。git status
以确保您没有任何未提交的更改。git clean -xfd
以摆脱 some 中的任何内容.gitignore
,例如临时构建文件等。.git
目录git add X
在 Y 内运行。您也可以git clone path-to-Y
在 X 之后执行类似的操作rm -rf Y/.git
。