git checkout在--assume-unchanged文件上抛出错误

Suj*_*jay 21 git git-index

在我运行git update-index --assume-unchanged path/to/file特定分支后,我无法使用切换分支git checkout.

它会引发以下错误:

错误:checkout将覆盖对以下文件的本地更改:

      path/to/file
Run Code Online (Sandbox Code Playgroud)

请提交您的更改或存储它们,然后才能切换分支.

中止

但两个git diff&git status告诉我没有区别,没有什么可以提交/存储.

如何切换出分支?

是否有更好的替代方案git update-index --assume-unchanged(除了.gitignore因为我不希望它被忽略)?(与问题2相同@git update-index --no-assume-unchanged不起作用)

Suj*_*jay 7

经过一段时间的使用后,我现在更喜欢git update-index --skip-worktree哪种方式更好git update-index --assume-unchanged.

查看"假设未更改"和"跳过工作树"之间的差异以获取更多信息.

我还计划检查这个答案中指定的方法,以便git假设未更改vs跳过工作树 - 忽略符号链接,这似乎是更具防御性的方法.

  • @Sujay,您好,但是,这仍然不允许您签出另一个分支。您是否找到了跳过工作树或假定不变的分支切换解决方案? (4认同)