在项目的根目录下,我有一个foo文件夹。在foo文件夹中,我有一个bar文件夹。我想忽略对文件bar夹内所有文件的所有更改。我在我的gitignore:
/foo/bar
该文件夹已选中:它存在并且其中有要忽略的文件。gitignore是committed。但是,我有一个要修改的文件,并且位于我的bar文件夹内。当我打字
git status
在我里面,我git bash看到应该被忽略的文件。原因可能是什么?如何成功忽略bar文件夹中的所有文件?
请注意,以前用同一行忽略了这些文件,但是我不得不将该行临时删除到commit服务器上的某行。之后commit,我把线放回去gitignore。这是前一阵子,但现在我注意到文件将在中git status。我希望能够修改被忽略的文件而不会出现在中git status。
git status foo/bar/file-that-should-be-ignored?
git log foo/bar/file-that-should-be-ignored。如果它不应该成为存储库的一部分,则应将其删除git rm --cached foo/bar/file-that-should-be-ignored,然后按照下面的Reck的建议进行提交(尽管我只是在文件而不是整个文件夹上进行操作)。这将(a)从Git中删除文件,(b)将文件保留在本地副本中,以及(c)在其他文件fetch或pull新提交时导致文件被删除。
git add -f ignored-file即使您忽略了文件,也会添加一个文件。