在特定分支上运行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相同)
答案 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中指定的方法,这似乎是更具防御性的方法。