git - Git 认为我的子模块中的东西是主仓库的一部分
问题描述
在我的子模块中单独提交和推送代码的过程中,根仓库突然认为我的子模块中的代码实际上是根仓库的一部分;也就是说,作为子模块一部分的文件现在显示为要添加到根存储库中的未暂存文件。我通过运行验证了这一点git status
。
几乎就像 git 忘记了子模块之类的东西,并认为我添加了所有这些文件。我确实注意到子模块有一个.git
文件而不是.git
目录。在文件中有这一行
gitdir:../.git/modules/root-repo
并且根存储库具有.git/modules/sub-repo
预期的文件夹。
我如何回到正确的状态?
我想我可以再次克隆根存储库并递归更新子模块,但这似乎很繁重。
解决方案
我想我可以再次克隆根仓库并递归更新子模块
这将是一个很好的第一个状态,以便检查:
- 您仍然有一个
.gitmodules
列出这些子模块路径的文件 这些子模块的根文件夹仍被视为 gitlink,如下所示:
cd /parent/folder/of/submodule git ls-files | grep 160000
推荐阅读
- python - 如何使用子进程函数执行命令
- vba - 为什么对象引用过早销毁?
- c# - Websocket 仅在存在 Console.Write() 时才接收消息,这是为什么呢?
- javascript - 我在菜单中的切换按钮遇到问题,当它的最大宽度 = 1200 像素时。即当我切换到切换按钮时,什么都没有出现
- linux - 我正在尝试在 linux 中使用 grep 命令。如何grep相似的单词和短语
- java - 从模态窗口获取值
- sql-server - ....不是公认的表格提示选项。....确保您的数据库兼容模式设置为 90。”
- python - NameError:名称“skimage”未定义
- python - 我的 python 文本游戏中的制作系统出现错误(当您没有列表中的所有项目时,我试图让它打印一些东西)
- matplotlib - VSCode 'default dark' 主题不会自动将 matplotlib 样式默认为 'dark_background'