Git 说 "new commits"但在文件夹中找不到

标签 git

我找不到答案的奇怪事情。我真的不知道这是怎么发生的,只是在过去的几周里发生了。

当我执行 git status 时,我总是看到一个文件夹末尾有“(new commits)”,但我确定我没有对其进行任何更改。此外,当我 cd 进入文件夹并从那里执行 git status 时,git 告诉我没有任何更改。

当我提交这个文件夹时,一两天没问题,然后它又回来了。可能是在我执行 git pull 后它又回来了,因为它是一个共享项目,我还没有真正检查这种行为。

有什么想法吗?

enter image description here

最佳答案

这表明 mockery 目录是一个子模块,您已经在该目录中创建了新的提交,并且您还没有更新包含子模块的存储库以指向子模块存储库中的最新提交。请注意,子模块指向存储库中的特定提交,而不仅仅是一些远程存储库 URL。这可确保当您克隆包含子模块的存储库时,您将获得作者正在使用的完全相同的代码(或者作者声明他正在使用的代码——正如您在此处看到的那样,有可能不告诉“父”存储库有关新提交的信息)。

git add mockery 将指示 Git 使用子模块中当前的 HEAD 提交作为子模块的提交标识符。这是一个版本更改,因此您必须提交结果。

关于Git 说 "new commits"但在文件夹中找不到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24123575/

相关文章:

git - 'git fetch' 把自己放在哪里?

git clone 从本地到远程

git - Git 钩子(Hook)脚本可以与存储库一起管理吗?

git - 忽略我对文件的更改,但不要从远程代表中删除它们

Git clone - 创建一个裸克隆但带有远程跟踪分支(用于工作树 'main' repo )

git - 恢复到 git 但 merge 但没有给出 -m 选项

Git - 临时切换

git 假设不变的含义

git - 查找 git 提交的直接祖先( parent ?)

git force 文件行在提交时结束