Git状态显示git重置后的更改 - 硬盘,第二场结账 - 删除更改

时间:2018-06-14 09:33:03

标签: git git-checkout git-reset

现在大约一个月,我对git有一个奇怪的问题。

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

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

  • 有一段时间现在rebase失败,因为git无法正确重置文件

  • 文件内容已正确重置,但仍会更改某些标记或元数据。

  • Git Diff未列出任何更改

  • 仅在第二次"结帐后 - 文件" (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 reset相同的行为--hard,只有连续的git checkout - 文件会删除所有更改。

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

1 个答案:

答案 0 :(得分:0)

找到一个解决方案,但它相当不满意: 删除git for windows并安装最新版本(在我的情况下为2.17.1.windows.2)

禁用Windows搜索索引不起作用,也无法使用git设置或重置git索引。

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