Git提示“新的提交”,但在文件夹中找不到任何提交记录。

3
奇怪的事情是我找不到答案。过去几周,我不知道这是如何发生的。
当我执行git status时,我总是看到一个文件夹末尾带有“(new commits)”字样,但我确定我没有对它进行任何更改。当我进入该文件夹并从那里执行git status时,git告诉我没有更改。如果我提交了该文件夹,一两天后它又会出现。可能是在我执行git pull之后它又出现了,因为这是一个共享项目,我还没有真正检查这种行为。
有什么想法吗?
1个回答

3
这表示mockery目录是一个子模块,您已在该目录中创建了新的提交,并且您尚未更新包含子模块的存储库以指向子模块存储库中的最新提交。请注意,子模块指向存储库中特定的提交,而不仅仅是一些远程存储库URL。这确保了当您克隆包含子模块的存储库时,您获得与作者使用完全相同的代码(或者作者声明使用的代码 - 正如您在此处看到的那样,可能没有将新提交告诉“父”存储库)。 git add mockery将指示Git使用当前的HEAD提交作为子模块的提交标识符。这是一个有版本控制的更改,因此您需要提交结果。

那么,当我添加Mockery并提交时,我应该不再看到这个问题了吗?因为我们已经尝试过几次了,但是这个问题一直会出现(虽然我在切换分支,所以也许它没有被添加在其中一个分支中,但是在另一个分支中却有...) - Zathrus Writer
@ZathrusWriter,直到mockery目录中的HEAD指向其他位置,您将不再看到它。例如,如果在mockery中创建了一个新的提交或检出了不同的分支。 - cdhowie
谢谢解释,给我2分钟接受答案吧 :D - Zathrus Writer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接