什么是目前的方式来删除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 update
,git submodule foreach
和git submodule sync
会跳过所有未注册的子模块,直到它们再次被初始化为止,所以如果你不想在工作树中有子模块的本地签出,那么使用这个命令。如果你真的想从存储库中删除一个子模块,并提交使用
git rm
来代替。如果指定了
--force
,则即使子模块包含本地修改,也将删除子模块的工作树。