删除子模块并保留文件?

Removing submodule and keeping files?

我正在使用一个对我帮助很大但使用了子模块的插件。 当我试图将它推送到远程时,我了解到子模块只是对另一个仓库的引用。 我只想将文件放在我自己的仓库中并将它们推送到远程。

到目前为止,其他 SO 文章的所有尝试都失败了。

这是我的 .submodules 文件夹:

[submodule "Vendor/Opauth"]
    path = Vendor/Opauth
    url = git://github.com/opauth/opauth.git

这是我在这个特定区域的文件系统:

如何删除子模块然后保留 Vendor/Opauth 文件?

正如我在“How do I remove a Git submodule?”中提到的,您应该取消初始化并删除子模块(这里假设 git 1.8.3+)。

git submodule deinit Vendor/Opauth
git rm --cached Vendor/Opauth
rm -Rf .git/modules/Opauth

--cached 确保您将文件保存在磁盘上。