首页 > 解决方案 > 撤消“git update-index --assume-unchanged”不起作用(与 --no-skip-worktree 结合使用)

问题描述

我已经阅读了Undo git update-index --assume-unchanged file,但是唉,没有任何效果:

whatever/.idea > git ls-files -v
S ant.xml

我试过了:

git update-index --no-assume-unchanged --no-skip-worktree ant.xml

刚刚完成,但是当我git ls-files -v再次完成时:同样的结果。尽管我有一个 clean git status,但当我分别进行 fetch/rebase 拉时,我最终得到:

error: Your local changes to the following files would be overwritten by merge:
    .idea/ant.xml
Please commit your changes or stash them before you merge.

(顺便说一句:git update-index --really-refresh也......什么都不显示)

我在这里缺少什么,我如何说服 git 开始再次将 ant.xml 视为正常的跟踪文件?

标签: gitgit-index

解决方案


利用:

git update-index --no-skip-worktree ant.xml

问题是:

git update-index --no-assume-unchanged --no-skip-worktree ant.xml

仅遵循第一个 --no选项:它清除假设不变的位(已经清除),使跳过工作树位保持不变(已设置并保持设置)。

(update-index 命令不应该这样做,但确实如此。)


推荐阅读