繁体   English   中英

我的 git 存储库更改不断标记为假定未更改

[英]My git repository changes are constantly flagged as assume-unchanged

多年来,我一直在 windows 上使用 git,没有出现任何重大问题。 然而,现在已经有一段时间了,我相信我的本地 git 存储库有一些缓和的东西,并且不时将我修改的文件标记为假设未更改,以至于我有一个别名来运行我的所有回购文件和update-index --really-refresh --no-assume-unchanged每一个,我几乎在每个git status之前都使用它。 但这不是生活的方式::P

我已经从我的机器上删除了 ConEmu,希望这会有所帮助,但没有得到任何结果(请注意,我可能应该先重新启动我的机器)。 我怀疑 VS 代码与它有什么关系。 我迷路了。 是否有任何 git 配置值可能导致此问题?

有没有人经历过类似的问题并发现了这种马基雅维利机制背后的邪恶力量? 我想在整个宇宙中命名和羞辱它......

不过说真的,我们将不胜感激任何帮助。

根据您的评论:某些东西(一些脚本或其他一些过程)正在为您的每个文件设置assume-unchanged标志。

您可以查看您的.git/hooks目录(也检查git config core.hooksPath以查看您是否配置了自定义 hooks 目录),或其他一些将传递您的 repo 中所有文件的脚本/任务。

如果您真的不知道可能导致此问题的原因:使用grep -e "assume-unchanged" -r. (尝试发现一个将运行update-index --assume-unchanged的脚本),首先在您的 repo 中,然后在您的主目录中,最后从/ ...

好的,所以在弄乱了 vs 代码、resharper 和 sublime 文本(卸载所有内容、删除剩余部分、重新启动机器等等)之后——没有任何东西可以作为这种奇怪行为背后的原因。

然后我注释掉了我所有的 gitconfig 文件-并且行为消失了。 然后我很快就弄清楚了这种行为背后的原因是以下配置设置为 true:

core.ignoreStat

我不知道它是如何以及何时潜入我的 gitconfig 文件并设置为 true 的,但希望这将有助于其他可能遇到这种情况的人。

我有一个类似的问题,但在 Linux 上。OP 关于 git 配置的答案对我不起作用,但让我找到了正确的方向。

git 配置选项core.fsmonitor设置为 true(从我的 Windows 配置中继承,这是一个提高性能的实验性选项)。 在我的 Linux 系统上,这导致 git 基本上检测不到任何文件系统更改。现在我已经删除它,一切正常。

希望这可以帮助其他人解决同样的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM