Git在文件上设置假设未更改的位

时间:2015-07-30 17:01:03

标签: git windows-7 msysgit

我首先在现有存储库中遇到过此问题。作为测试,我对跟踪文件进行了更改。运行git status会将文件显示为已修改。然后我做了git reset --hard HEAD以撤消该更改,因为这是我做出的唯一更改。之后,运行git ls-files -v | grep '^[[:lower:]]'会显示该文件的小写h,表示设置了假定未更改的位。我以前没有自己设置这个位。

作为另一项测试,我做了以下工作:

/c/Source/git/test
$ echo "123" > a

/c/Source/git/test
$ echo "456" > b

/c/Source/git/test
$ git init
Initialized empty Git repository in C:/Source/git/test/.git/

/c/Source/git/test (master)
$ git add a b

/c/Source/git/test (master)
$ git commit -m "first"
[master (root-commit) c5bfb90] first
 2 files changed, 2 insertions(+)
 create mode 100644 a
 create mode 100644 b

/c/Source/git/test (master)
$ git ls-files -v
h a
h b

/c/Source/git/test (master)
$

我不明白发生了什么。为什么git将这些文件标记为假设不变?

1 个答案:

答案 0 :(得分:1)

结果我将core.ignoreStat设置为true。 git config --global core.ignoreStat false修复了它。不知道为什么我启用了ignoreStat ...我想我启用了它以试图加快分支名称自动完成。回想起来,这没有任何意义。

相关问题