如何忽略项目中的同名目录__pycache__?

mar*_*lon 18 git gitignore

__pycache__目录在使用 git 更新时很烦人。每当我使用 时git status,都会出现很多 .pyc 文件。如何方便地列出__pycache__文件中的文件夹,.gitignore以便在使用时不显示git status

例如:

core/__pycache__/utils.cpython-36.pyc
core/__pycache__/version.cpython-36.pyc
core/actions/__pycache__/__init__.cpython-36.pyc
core/actions/__pycache__/action.cpython-36.pyc
Run Code Online (Sandbox Code Playgroud)

我是否必须将所有单个__pycache__文件都列出到 gitignore 文件中?

小智 86

使用**/__pycache__/它来忽略存储库中的所有pycache文件夹

  • 这适用于“tree --gitignore”,而“__pycache__/”仅忽略顶层。 (2认同)

mar*_*eth 18

__pycache__/. 结束斜杠表示它是一个目录,将忽略它下面的任何文件。

  • 你不需要`**`。你可以直接说“__pycache__/”。 (8认同)
  • 如果您已经添加了“__pycache__”目录文件(通过“git add ...”),那么运行“git status”仍将显示“__pycache__”目录文件 - 即使在“.gitignore”更新之后也是如此。您需要重置(`git reset`),然后运行`git status`来查看 .gitignore 更新是否有效。之后,您可以添加要提交的文件。 (4认同)
  • 我在 .gitignore 中添加了“__pycache__”,然后运行“git status”,它仍然显示所有的 .pyc 文件。它没有影响。 (3认同)
  • @marlon 不需要星号。我想你应该看看这个:/sf/ask/89184021/因吉蒂诺尔 (3认同)

小智 8

我在根目录中使用了这个命令,它对我有用

git rm --cached */__pycache__/*
Run Code Online (Sandbox Code Playgroud)


小智 6

我只写了:

__pycache__
Run Code Online (Sandbox Code Playgroud)

为我工作,现在忽略__pycache__ 任何目录中的所有文件。

不要忘记删除所有以后缓存的文件__pycache__