我在 git 下有一个项目。在我的 gitignore 文件中,我有一个文件夹文件夹/我不想让 git 关心。问题是,每次我想签出一个分支时,都会要求我出错:以下未跟踪的工作树文件将被签出覆盖:
错误:以下未跟踪的工作树文件将被结帐覆盖:文件夹/somefile 文件夹/子文件夹/somefile...
所以我移开了文件夹/,再次提交,然后在我的 git repo 中取回了文件夹/。但是为什么总是出现这个消息?(在我的 .gitignore 中,我有一行:文件夹/)
我在 git 下有一个项目。在我的 gitignore 文件中,我有一个文件夹文件夹/我不想让 git 关心。问题是,每次我想签出一个分支时,都会要求我出错:以下未跟踪的工作树文件将被签出覆盖:
错误:以下未跟踪的工作树文件将被结帐覆盖:文件夹/somefile 文件夹/子文件夹/somefile...
所以我移开了文件夹/,再次提交,然后在我的 git repo 中取回了文件夹/。但是为什么总是出现这个消息?(在我的 .gitignore 中,我有一行:文件夹/)
您收到此消息,因为您folder/
在将该文件夹添加到.gitignore
.
这意味着,尽管您的文件夹中有该文件夹,.gitignore
但它已经在您的存储库中,因此将被检出,就像所有其他文件一样。
.gitignore
在签入文件时使用,而不是在签出文件时使用。
如果你想folder/
从你的 git 存储库中删除,你可以通过发出命令来做到这一点git rm folder/
。
您已经在已签出的分支中提交了一些文件/文件夹,大概是在您将它们添加到 .gitignore 之前。
使用将它们从您的索引中删除git rm folder\ --cached
,然后重试 - 您不应该收到警告。