为什么Git跟踪子目录中没有变化?

Gie*_*ius 10 git github

我已经创建了git存储库,添加了代码并将其推送到GitHub.

然后在本地,我编辑了文件Eila.Analyser/Program.cs,在第一次提交时添加到GitHub,保存并git status说没有变化.

好吧,我认为,一定搞砸了,git reset --hard HEAD并且据我所知,应该还原所有内容,但我的文件不会被还原.

所以我觉得我做错了什么.我编辑根文件夹中的文件,git status- 显示有更改,工作为可疑,因此它适用于根文件夹中的文件,但不适用于子文件夹中的文件.

我错过了一些明显的东西吗?

更新:证据,我正在编辑的文件真的被提交(git log --stat):

在此输入图像描述

如果有帮助,树图片:

在此输入图像描述

UPDATE2:好的,我以为我真的搞砸了,所以我删除了文件夹,我的解决方案在哪里,再次从gitHub克隆,我的本地代码仍然与gitHub中的现有代码不同,git status看不到任何更改,git log origin/master..HEAD什么都不给.

Kor*_*tor 13

试试跑步git update-index --really-refresh.

我确实在Windows上遇到了类似的问题并且解决了这个问题.

您还应该选中该core.ignoreStat选项git config.


Gie*_*ius 10

所以最后它奏效了.我删除了本地文件夹中的已更改文件 - 然后突然git status开始看到,这些文件丢失了.所以我恢复了它们并git status开始看到,文件被修改了.

  • 我重命名了文件夹,git 为我识别了它。 (3认同)

Tim*_*yen 7

有时我遇到同样的问题,尤其是当我有另一个git repo本身的子文件夹时。解决方案是:重命名文件夹。尝试将文件夹名称切换为其他名称。提交,然后重新命名。如果子文件夹本身是另一个Git存储库,并且您希望它与主流完全分离,并遵循您的存储库,则应首先删除该子文件夹的遥控器。

  • 这个解决方案看起来很笨重,但它对我来说完全有效 (6认同)

小智 6

我的情况正是蒂莫西提到的。我有一个子文件夹,它也是一个 git 存储库。我从子文件夹中删除了 git,但“父 git”停止跟踪它。通过 Windows 资源管理器重命名文件夹并没有解决问题,但通过 git 重命名它可以解决问题。所以,我做了“$ git mv文件夹名称文件夹名称临时”..而不是重命名回原来的名称:)


sqp*_*125 5

对我来说解决方案是

重命名未跟踪的文件夹