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

时间:2012-09-24 13:46:32

标签: git git-index

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

它会抛出以下错误:

  

错误:以下文件的本地更改将被结帐:

覆盖
      path/to/file
     

请在更改分支之前提交更改或存储更改。

     

中止

git diff和& git status告诉我没有区别&什么都没有提交/藏匿。

如何切换出分支?

是否有更好的替代git update-index --assume-unchanged.gitignore除外),因为我不希望它被忽略)? (与问题2 @ git update-index --no-assume-unchanged doesn't work相同)

1 个答案:

答案 0 :(得分:6)

经过一段时间的使用,我现在更喜欢git update-index --skip-worktree,这是git update-index --assume-unchanged更好的选择。

查看Difference Between 'assume-unchanged' and 'skip-worktree'以获取更多信息。

我还计划查看this answer to git assume unchanged vs skip worktree - ignoring a symbolic link中指定的方法,这似乎是更具防御性的方法。