是否有一些简单的方法来重命名git子模块目录(而不是从头到脚删除它,然后用新的目标名称重新添加它)。

当我们在它的时候,为什么我不能在父目录中做以下事情:git mv old-submodule-name new-submodule-name


当前回答

编辑.gitmodules文件重命名子模块,然后重命名子模块目录。

我认为你可能需要做一个git子模块同步之后,但我现在不在一个位置检查。

其他回答

我发现以下工作流程:

.gitmodules最新消息 接近新手机 得一个人去 晚上好,夫人 什么

注意:这种方法不会在2018年版本的GIT中正确更新索引和. GIT模块。

注意:你现在可以只执行git mv oldpath newpath,就像VonC的回答中指出的那样。(确保您使用的是最新版本的git)

MacOs:当我想使用VonC解决方案将子模块文件夹Common改为小写时:

git mv Common common

我得到

fatal:重命名“Common”失败:无效参数

解决方案-使用临时文件夹名并移动两次:

git mv Common commontemp
git mv commontemp common

这就是全部:)

正确的解决方法是:

mv oldpath ~/another-location
git rm oldpath
git submodule add submodule-repository-URL newpath

我只是尝试了上面建议的一些。我运行:

$ git --version
git version 1.8.4

我发现最好是去初始化子模块,删除目录并创建一个新的子模块。

git submodule deinit <submodule name>

git rm <submodule folder name>

git submodule add <address to remote git repo> <new folder name>

至少这对我来说是最有效的。YMMV !

编辑.gitmodules文件重命名子模块,然后重命名子模块目录。

我认为你可能需要做一个git子模块同步之后,但我现在不在一个位置检查。