Skip to main content

2 posts tagged with "submodule"

View All Tags

wKevin

git help submodule 文档中找不到如何 mv 一个已有的 submodule,stackoverflow 上可以搜到很多这个问题的解决办法,大多和本文的内容一样,晦涩而繁杂,没办法,好像没有完美而简洁的办法。 本文只是分析 stackoverflow 上的解决办法,进行一些梳理和总结。

要素

重命名一个 submodule,要涉及以下几个方面:

  1. .gitmodules 1.1. .submodules 1.2. path
  2. .git/config //基本不需要修改
  3. .git/modules/ 3.1. oldPath/xxx/config -- worktree 3.2. oldPath/submodule --> newPath/submodule
  4. submodule/ 4.1. 创建 newPath/submodule 4.2. mv oldPaht/submodule/. --> newPath/submodule/ 4.3. newPath/submodule/.git -- gitdir 4.4. 删除 oldPath/submodule

wKevin

常规操作

发布者:维护父项目与 submodule 之间的依赖关系

$ git submodule add https://......
$ git commit

使用者:使用父项目,透明处理或更新 submodule,但不修改依赖关系

$ git clone https://github.com/wkevin/iOS.grocery.git
$ cd iOS.grocery
$ git submodule init
$ git submodule update