如何重命名其子目录中具有子模块的git文件夹

问题描述

我的文件夹结构是:

〜/ git_project / bad_name / some / folder / structure / submodule_folder /

我想将其更改为:

〜/ git_project / better_name / some / folder / structure / submodule_folder /

所以我做到了:

cd git_project
git mv bad_name better_name

在执行此命令后检查git状态时,我得到了:

fatal: Could not chdir to '../../../../../../../bad_name/some/folder/structure/submodule_folder': No such file or directory
fatal: 'git status --porcelain' Failed in submodule better_name/some/folder/structure/submodule_folder

如何重命名子目录中包含子模块的文件夹?

解决方法

Git只能理解文件,无法跟踪空目录。

使用以下方法在空目录中创建一个虚拟文件(.gitkeep):

cd git_project

touch bad_name/some/folder/structure/submodule_folder/.gitkeep

然后执行:

git mv bad_name better_name