我试图创建一个新的存储库并向其中添加两个项目。其中一个项目已经在Git源代码控制之下,所以我复制了该项目并删除了.git文件夹并删除了它的存储库。当我将项目添加到我的存储库时,不在源代码控制下的项目会被正确添加,但另一个会作为子模块(GitHub上的绿色文件夹)被添加。无法将现有的Git存储库添加到新的存储库中
我试着通过做git rm --cached
来删除子模块,但它仍然存在,我不能将项目的文件添加到存储库。
我试图创建一个新的存储库并向其中添加两个项目。其中一个项目已经在Git源代码控制之下,所以我复制了该项目并删除了.git文件夹并删除了它的存储库。当我将项目添加到我的存储库时,不在源代码控制下的项目会被正确添加,但另一个会作为子模块(GitHub上的绿色文件夹)被添加。无法将现有的Git存储库添加到新的存储库中
我试着通过做git rm --cached
来删除子模块,但它仍然存在,我不能将项目的文件添加到存储库。
您是否尝试过使用新结帐功能?似乎没有git submodule remove
,所以您将不得不手动编辑.gitmodules
。
如果你想使用签出的副本添加模块X(这已经是版本控制)到模块Y(这是新的):
.gitmodule
(如果有的话,那么它更复杂)。git status
以确保您没有任何未提交的更改。git clean -xfd
摆脱什么,就是在一些.gitignore
,像临时生成文件等.git
目录git add X
内Y.您也可以在X中执行诸如git clone path-to-Y
之类的操作,然后再执行rm -rf Y/.git
。
rm -rf path_to_submodule
rm -rf .git/path_to_submodule
rm .gitmodules
git commit -am "removing submodule"
git push
.gitmodules
应该是所没有的 Ë.git/
应该不会有裁判从子模块
检查有:
git ls-files | grep submodule_name
find . | grep submodule_name
最后:
git submodule add [email protected]:johndoe/johndoe_repo.git johndoe_branch/johndoe_repo --force
--force
是可选的,如果你有阿里亚dy文件系统中的文件夹
如果我在此存储库中发生了无法更改的变化,该怎么办?这是什么情况,因为之前的GitHub仓库是私有的,它已过期,所以我无法推送更改。 – 8vius
无论如何,这解决了我的问题。谢谢你,马丁。 – 8vius
您可以在本地提交,而不必推送更改。 但是,当然,您也可以在未提交更改的情况下进行复制。从没有未提交更改的回购中复制只是使跟踪历史记录变得更加容易 - 您可以在提交消息中包含修订版本。 –