子模块项目死了,如何导入代码?

时间:2017-10-06 08:35:24

标签: git

我的项目有一个特定的子模块,因为2天不再活了。作者们已经从github中删除了存储库。

我需要知道如何在不丢失代码的情况下删除子模块。

实际上子模块位于

project_root / external_modules / name_of_died_project

我需要将代码保持在相同的位置。我不想推荐给一个新的回购。

最后一次提交的代码实际上是在我的驱动器上。 并不是说我不能进入一个新的回购..我不想这样做。 我只想保留代码并将它们作为项目的简单标准子目录处理,而不更改任何路径配置

1 个答案:

答案 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"