我已经提交了大量文件,现在我想忽略它们。我怎么能告诉git现在忽略这些文件从未来的提交?

编辑:我也想从存储库中删除它们。它们是在每次构建之后创建的文件,或用于特定于用户的工具支持。


当前回答

请确保您的实际回购是最新版本,没有正在进行的更改

编辑。gitignore如你所愿 Git rm -r——cached。(删除所有文件) Git添加。(根据gitignore重新添加所有文件)

然后像往常一样提交

其他回答

将文件保留在repo中,但忽略未来对其的更改:

git update-index --assume-unchanged <file>

要撤消此操作:

git update-index --no-assume-unchanged <file>

要找出哪些文件已经以这种方式设置:

git ls-files -v|grep '^h'

功劳归于原来的答案 http://blog.pagebakers.nl/2009/01/29/git-ignoring-changes-in-tracked-files/

İf你已经提交,你可以使用这个:

添加文件夹路径到。gitignore文件。 运行此命令删除exe文件(对于其他文件扩展名,只需写入“*extension”)。 Git rm——cached *exe 提交更改。

您应该对想要删除的每个扩展执行此操作。

编辑.gitignore文件后。

git rm -r --cached ./ &&  git add ./ && git commit -a -m "Removing ignored files" && git push

我倾向于忘记/懒得读这些git命令是做什么的。所以我是这样做的:

我将所有我想忽略的文件暂时移到存储库之外 我在我的git GUI中提交了这些“已删除的文件”(它们现在已无法跟踪) 我更新了.gitignore文件 我将文件移回存储库(或者删除它们,如果这是我的意图)

遵循以下步骤:

为gitignore文件添加路径 执行此命令 Git rm -r——缓存的文件夹名 像往常一样提交更改。