什么是目前的方式来删除git子模块?

作为git版本1.9.3(苹果Git-50)在Mac上我如何删除git子模块? 我正在阅读很多开发者告诉我过时的信息,他们不会工作。 目前的方式是什么? 将git deinit pathToSubModule做的伎俩?

我认为的步骤将在这里,但评论说,他们不会。

让我解释我目前的情况,以及我需要做些什么。 我已经安装了快速存储库 ,并将其添加到我的项目的子模块。 此代码已经签入,其他人正在使用它。 我现在需要做的是相同的快速存储库,并将其托pipe在我公司更安全的github上(所以完全是其他私人github)。 分叉后,我想将该fork添加为gitSubmodule,并让它replace之前安装的当前Quick子模块。

更新:我读过,以下是最新的git版本的正确方法,请确认?

 To remove a submodule added using: git submodule add blah@blah.com:repos/blah.git lib/blah Run: git rm lib/blah That's it. For old versions of git (circa ~1.8.5) use: git submodule deinit lib/blah git rm lib/blah git config -f .gitmodules --remove-section submodule.lib/blah 

你有git submodule deinit

 git submodule deinit <asubmodule> git rm <asubmodule> # Note: asubmodule (no trailing slash) # or, if you want to leave it in your working tree git rm --cached <asubmodule> rm -rf .git/modules/<asubmodule> 

deinit

取消注册给定的子模块,即删除整个submodule.$name
部分从.git/config和他们的工作树一起。

进一步调用git submodule updategit submodule foreachgit submodule sync跳过所有未注册的子模块,直到它们再次被初始化为止,所以如果你不想在工作树中有子模块的本地签出,那么使用这个命令。

如果你真的想从存储库中删除一个子模块,并提交使用git rm来代替。

如果指定了--force ,则即使子模块包含本地修改,也将删除子模块的工作树。