答案 0 :(得分:62)
.gitignore
仅忽略不属于存储库的文件。如果您已git add
编辑了某些文件,则仍会跟踪其更改。
要从存储库中删除这些文件(但不是从文件系统中删除),请在其上使用git rm --cached
。
答案 1 :(得分:10)
按照以下步骤操作 gitignore
在 .gitignore 文件中进行更改。
运行 git rm -r --cached . 命令。
运行 git add . 命令
git commit -m "提交消息"
答案 2 :(得分:5)
gitignore只会忽略未跟踪的文件。 您的文件被标记为已修改 - 意味着它们已被提交,过去和它们现在由git跟踪。
要忽略它们,首先需要删除它们,git rm
它们,提交然后忽略它们。
答案 3 :(得分:5)
.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文件中。
答案 4 :(得分:0)
看看这个:.gitignore is not working 特别是来自ADTC的评论:
确保您的.gitignore文件使用ANSI或UTF-8编码。如果使用 其他一些东西,例如Unicode BOM,Git可能无法读取 文件。 – ADTC '17 Dec 14在12:39
答案 5 :(得分:0)
您可以使用git rm -r --cached ./node_modules。假设您要忽略节点
答案 6 :(得分:0)
首先从git存储库中删除index.lock文件
rm -f .git/index.lock
,然后添加.gitignore
git add .gitignore
答案 7 :(得分:0)
最好在启动并提及我们要忽略的文件时创建.gitignore文件。
如果要忽略某些文件,请执行git rm -r --cached
答案 8 :(得分:0)