Git 状态显示 git 重置后的更改 -- 硬,第二次签出 -- 删除更改

Git status shows changes after git reset -- hard, 2nd checkout -- removes change

大约一个月以来,我遇到了 git 的一个奇怪问题。

我在一个有很多提交的大型项目中使用 Intellij,我们使用 gerrit 进行代码审查和协调。

通常我必须重置本地更改或使用 intellij 重新设置我的更改。

我附上了一个显示该行为的最小示例:

user@Windows10 MINGW64 /d
$ mkdir gittest

user@Windows10 MINGW64 /d
$ cd gittest/

user@Windows10 MINGW64 /d/gittest
$ git init
Initialized empty Git repository in D:/gittest/.git/

user@Windows10 MINGW64 /d/gittest (master)
$ echo test >> pom.xml

user@Windows10 MINGW64 /d/gittest (master)
$ git add .

user@Windows10 MINGW64 /d/gittest (master)
$ git commit
[master (root-commit) e498342] testcommit
 1 file changed, 1 insertion(+)
 create mode 100644 pom.xml

user@Windows10 MINGW64 /d/gittest (master)
$ git status
On branch master
nothing to commit, working tree clean

user@Windows10 MINGW64 /d/gittest (master)
$ echo test >> pom.xml

user@Windows10 MINGW64 /d/gittest (master)
$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   pom.xml

no changes added to commit (use "git add" and/or "git commit -a")

user@Windows10 MINGW64 /d/gittest (master)
$ git checkout -- pom.xml

user@Windows10 MINGW64 /d/gittest (master)
$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   pom.xml

no changes added to commit (use "git add" and/or "git commit -a")

user@Windows10 MINGW64 /d/gittest (master)
$ git diff

user@Windows10 MINGW64 /d/gittest (master)
$ git checkout -- pom.xml

user@Windows10 MINGW64 /d/gittest (master)
$ git status
On branch master
nothing to commit, working tree clean

与 git 重置相同的行为 --hard,只有连续的 git 检出 -- 文件删除所有更改。

环境:Windows10,Eset Antivirus,git 版本 2.16.0.windows.2,SSD 和 HDD 上的行为相同

找到了解决方案,但不太令人满意: 为 windows 删除 git 并安装最新版本(在我的例子中为 2.17.1.windows.2)

禁用 windows 搜索索引无效,也无法使用 git 设置或重置 git 索引。

我只能假设我的 git 安装以某种方式损坏并且有某种提交挂钩或其他特定于提交的问题。