即使文件被忽略,Git也会对文件更改发出警告?

即使文件被忽略,Git也会对文件更改发出警告?,git,Git,例如,如果我想更改一个分支git签出测试(来自dev),我将得到以下警告: error: Your local changes to the following files would be overwritten by checkout: app/src/api/server.js 但正如您所看到的,该文件被忽略: 为什么会发生这种情况?以前似乎跟踪过该文件,因此您需要通过以下命令显式删除它一次: git rm --cached <file> git-rm——

例如,如果我想更改一个分支
git签出测试
(来自
dev
),我将得到以下警告:

error: Your local changes to the following files would be overwritten by checkout:
        app/src/api/server.js
但正如您所看到的,该文件被忽略:


为什么会发生这种情况?

以前似乎跟踪过该文件,因此您需要通过以下命令显式删除它一次:

git rm --cached <file>
git-rm——缓存

这与此主题相关:

文件似乎以前被跟踪过,因此您需要通过以下命令显式删除它一次:

git rm --cached <file>
git-rm——缓存

这与本主题相关:

但是(a)我看不出该文件被忽略,并且(b)很明显,它没有被忽略。(如果图像的右侧窗格旨在显示
.gitignore
的内容,请注意,实际上在索引中的文件会被跟踪,无论它是否出现在
.gitignore
中)但是(a)我看不到该文件被忽略,并且(b)显然,它没有被忽略。(如果图像的右侧窗格旨在显示
.gitignore
的内容,请注意,实际上在索引中的文件将被跟踪,无论它是否出现在
.gitignore
中)在您提供的代码之后,我是否需要执行git提交?是。如果你想立即看到效果,你需要提交。@alex你能接受答案来结束这个问题吗?(如果答案有效!:)文件在分支之间应该有自己的版本吗?或者所有分支的文件都相同?分支之间有多个版本。所以我想你需要把它从所有的分支上移除。或者在提交时删除它一次,然后在所有分支中合并该提交。在您提供给我的代码之后,我是否需要执行git提交?是的。如果你想立即看到效果,你需要提交。@alex你能接受答案来结束这个问题吗?(如果答案有效!:)文件在分支之间应该有自己的版本吗?或者所有分支的文件都相同?分支之间有多个版本。所以我想你需要把它从所有的分支上移除。或者在提交中删除它一次,然后在所有分支中合并该提交。