我找不到答案的奇怪事情。我真的不知道这是怎么发生的,只是在过去的几周里发生了。
当我执行 git status
时,我总是看到一个文件夹末尾有“(new commits)”,但我确定我没有对其进行任何更改。此外,当我 cd
进入文件夹并从那里执行 git status
时,git 告诉我没有任何更改。
当我提交这个文件夹时,一两天没问题,然后它又回来了。可能是在我执行 git pull
后它又回来了,因为它是一个共享项目,我还没有真正检查这种行为。
有什么想法吗?
最佳答案
这表明 mockery
目录是一个子模块,您已经在该目录中创建了新的提交,并且您还没有更新包含子模块的存储库以指向子模块存储库中的最新提交。请注意,子模块指向存储库中的特定提交,而不仅仅是一些远程存储库 URL。这可确保当您克隆包含子模块的存储库时,您将获得作者正在使用的完全相同的代码(或者作者声明他正在使用的代码——正如您在此处看到的那样,有可能不告诉“父”存储库有关新提交的信息)。
git add mockery
将指示 Git 使用子模块中当前的 HEAD
提交作为子模块的提交标识符。这是一个版本更改,因此您必须提交结果。
关于Git 说 "new commits"但在文件夹中找不到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24123575/