【问题标题】:How do I change a submodule's name?如何更改子模块的名称?
【发布时间】:2019-04-10 14:34:18
【问题描述】:

我花了相当多的时间阅读以下内容: Rename a git submodule

但是我的情况实际上有点不同。我已经重命名/移动了子模块,但我注意到模块的“名称”是我最初添加模块时的名称。

我相信--name 属性只能在最初添加模块时使用。但以防万一,我想我会问:

移动模块后,我可以更改模块的“名称”吗?我想更改.gitmodules.git/config 中的条目,以及.git/modules/* 中的目录结构

我试图避免必须删除模块(有很多)然后重新添加它们。

作为参考,我的.gitmodules 文件中的当前模块记录如下所示:

[submodule "TurtlePHP/application/vendors/PHP-Pixabay"]
    path = TurtlePHP/application/vendors/submodules/PHP-Pixabay
    url = git@github.com:onassar/PHP-Pixabay.git

这就是我想要的:

[submodule "TurtlePHP/application/vendors/submodules/PHP-Pixabay"]
    path = TurtlePHP/application/vendors/submodules/PHP-Pixabay
    url = git@github.com:onassar/PHP-Pixabay.git

谢谢!

【问题讨论】:

    标签: git git-submodules


    【解决方案1】:

    我认为重命名 .git/config.gitmodules 中的部分就可以了:

    git config                --rename-section submodule.TurtlePHP/application/vendors/PHP-Pixabay submodule.TurtlePHP/application/vendors/submodules/PHP-Pixabay
    git config -f .gitmodules --rename-section submodule.TurtlePHP/application/vendors/PHP-Pixabay submodule.TurtlePHP/application/vendors/submodules/PHP-Pixabay
    

    【讨论】:

    • /.git/modules 中的实际目录结构如何?
    • 在 CLI/git 命令的上下文中,重命名/移动模块与更改其名称不同。重命名/移动会移动.gitmodules.git/config 中的目录和引用,而更改名称 会更改与该子模块关联的名称。
    • 链接的问题有很多很好的答案,还不够吗?就在一周前,我重组了一个子模块并将其从xxx-yyy 重命名为xxx/yyy。真的很简单。
    • 移动/重命名子模块与实际更改模块的name 不同。您是否查看过.gitmodules 文件并查看了名称?如果名称最初被定义为子模块的相对路径,则名称本身可能(但不是 100%)不正确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多