git - 无法 checkout 到其他分支,因为忽略的文件有本地更改?

标签 git

我得到:

$ git checkout mybranch
error: Your local changes to the following files would be overwritten by checkout:
        .idea/workspace.xml
Please, commit your changes or stash them before you can switch branches.
Aborting

但是.idea/已经在我的.gitignore中了。如果我执行 git status,也不会显示任何更改。

请指教。

更新:

感谢您的建议。我希望我可以去 mybranch 并检查,但我不能,因为它不允许我切换!如果忽略 .idea/ 是正确的行为(它们是来自 IDE 的项目配置文件),我现在应该做什么? 我的目标是转到 mybranch 并将其与 master merge 。您可以将 mybranch 视为生产分支,将 master 视为开发分支。现在我想更新 prod,因为 master 已经足够稳定了。

最佳答案

就我而言,这是由于我的前任

git update-index --assume-unchanged <filename>

那个文件有冲突。通过

撤销这种情况
git update-index --no-assume-unchanged <filename>

并提交由此产生的新状态,一切都已解决。

更新:修正参数中的拼写错误。

关于git - 无法 checkout 到其他分支,因为忽略的文件有本地更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25118932/

相关文章:

git - 将两个 git 仓库合二为一,有两个分支

Git squash 更改被远程存储库拒绝

git show commit in beyond compare

git - 使用 EXACT 文件夹结构创建包含子模块的 EXACT git 存储库并将其推送到 github

git - 在 Linux 上通过 ssh 访问 bitbucket.org

git - 如何在 git diff 输出中限制每个文件的差异

security - 使 gitosis-admin git 存储库安全

linux - 在命令行 Git 中编辑不正确的提交消息

git - 如何避免提交消息中出现 "Merge branch ' name_of_branch'?

ruby - 检测是否安装了 git 的独立于平台的方法