当我发出以下命令时:
git pull origin master
我收到以下错误:
Your local changes to the following files would be overwritten by merge: user.v12.suo
在我的.gitignore文件中,我刚刚添加了代码以忽略* .suo文件。
有人可以解释为什么会这样吗?
答案 0 :(得分:3)
当您向.gitignore添加模式时,这只是告诉git忽略与模式匹配的新文件,但git已经跟踪的任何文件都不会受到影响。您可以使用此命令告诉git停止跟踪文件:
git rm --cached <file>
这会在下次提交时将其从索引中删除。
答案 1 :(得分:0)
问题是,当您已经添加该文件时,您必须先删除该文件。否则该文件将被标记为已修改。为此你可以使用:
git rm --cached file [file ...]
您可以从存储库中删除该文件。
答案 2 :(得分:0)
尝试首先从repo中删除文件。
要从repo中删除文件而不从本地文件系统中删除它,请使用:
git rm --cached user.v12.suo