我的项目有一个特定的子模块,因为2天不再活了。作者们已经从github中删除了存储库。
我需要知道如何在不丢失代码的情况下删除子模块。
实际上子模块位于
中project_root / external_modules / name_of_died_project
我需要将代码保持在相同的位置。我不想推荐给一个新的回购。
最后一次提交的代码实际上是在我的驱动器上。 并不是说我不能进入一个新的回购..我不想这样做。 我只想保留代码并将它们作为项目的简单标准子目录处理,而不更改任何路径配置
答案 0 :(得分:1)
子模块本身就是一个单独的Git存储库。这意味着您可以将其副本推送到您自己的GitHub帐户。为此,请执行以下操作:
更改为子模块
cd path/to/submodule
并将所有内容推送到GitHub上的repo(或者您喜欢的地方,只需替换URL)
git push git@github.com:your-username/your-repo.git --all
您应该在GitHub帐户上看到回购的副本。
然后按these instructions更改父项目中的子模块URL:
在您的主项目中打开文件.gitmodules
,搜索相应的子模块
[submodule "path/to/submodule"]
path = path/to/submodule
url = https://github.com/dead-account/dead-repo.git
并用上面的新网址替换旧的死网址。然后运行
git submodule sync
并提交更改
git commit -am "Fixed disappeared submodule upstream"