j2e*_*nue 82 git github git-submodules
对于Mac上的git版本1.9.3(Apple Git-50)如何删除git子模块?我正在阅读很多过时的信息,许多开发人员告诉我他们不会工作.目前的方式是什么?会git deinit pathToSubModule 做的伎俩?
我认为可行的步骤在这里,但评论说他们不会.
让我解释一下我目前的情况以及我需要完成的工作.我已经安装了快速存储库并将其添加到我的项目的子模块中.此代码已经签入,其他人正在使用它.我现在需要做的是分叉相同的Quick存储库并将其托管在我公司拥有的更安全的github上(所以完全是其他私有github).在分叉之后我想将该fork添加为gitSubmodule并让它替换我之前安装的当前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
Run Code Online (Sandbox Code Playgroud)
Cod*_*ard 173
你有 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>
Run Code Online (Sandbox Code Playgroud)
deinit取消
submodule.$name注册给定的子模块,即将整个
部分.git/config与其工作树一起删除.进一步呼吁
git submodule update,git submodule foreach并git submodule sync会跳过所有未注册的子模块,直到再次初始化,所以使用这个命令,如果你不想在你的工作树中的子模块的本地结账了.如果您确实要从存储库中删除子模块并提交使用该子模块
git rm.如果
--force指定,则子模块的工作树将被删除,即使它包含本地修改.
mrt*_*rts 11
我正在使用 Git 版本 2.16.2 并且git rm大部分工作做得很好:
git rm path-to-submodule
Run Code Online (Sandbox Code Playgroud)
您可以使用git status和验证git diff --cached这会取消初始化子模块并.gitmodules自动修改。与往常一样,您需要提交更改。
但是,即使子模块从源代码管理中删除,.git/modules/path-to-submodule仍然包含子模块存储库并.git/config包含其 URL,因此您仍然必须手动删除它们:
git config --remove-section submodule.path-to-submodule
rm -rf .git/modules/path-to-submodule
Run Code Online (Sandbox Code Playgroud)
保留子模块存储库和配置是有意的,以便您可以使用例如撤消删除git reset --hard。
| 归档时间: |
|
| 查看次数: |
58015 次 |
| 最近记录: |