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