Answers:
.gitignore
仅忽略不属于存储库的文件。如果您已经git add
编辑了某些文件,它们的更改仍将被跟踪。要从存储库(而不是从文件系统)中删除这些文件,请git rm --cached
在它们上使用。
.gitignore文件可确保未被Git跟踪的文件保持未跟踪状态。
仅将文件夹/文件添加到.gitignore文件中并不会取消跟踪它们-Git仍将跟踪它们。
要取消跟踪文件,必须从存储库中删除.gitignore文件中列出的跟踪文件。然后重新添加它们并提交您的更改。
最简单,最彻底的方法是删除并缓存存储库中的所有文件,然后将它们全部重新添加。.gitignore文件中列出的所有文件夹/文件都不会被跟踪。在存储库的顶部文件夹中,运行以下命令:
git rm -r --cached .
git add .
然后提交您的更改:
git commit -m "Untrack files in .gitignore"
请注意,以前使用有害文件进行的任何提交都将保留在提交历史记录中。当推送到GitHub时,请注意可能包含.env
或client_secret.json
文件的提交历史记录。
最佳实践是创建一个.gitignore文件,并使用在启动项目时不希望跟踪的文件夹/文件填充该文件。但是,通常有必要在意识到正在跟踪和存储不需要的文件之后将其添加到.gitignore文件中。
git rm -r --cached .
回滚后,所有更改还可以重新添加所有不应使用.gitignore排除的文件。
看一下:.gitignore无法正常工作 ,尤其是来自ADTC的评论:
确保您的.gitignore文件使用ANSI或UTF-8编码。如果它使用诸如Unicode BOM之类的其他内容,则Git可能无法读取文件。– ADTC '17 Dec 14'在12:39