正在从 git 存储库中删除 __pycache__
Removing __pycache__ from git repository
如何使用 .gitignore
删除存储库中的所有 __pycache__
子目录?
在 .gitignore 中添加这个,以后你也可以方便地使用它 generator
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
您无法从现有提交中删除文件:这些提交已被永久冻结。不过,您可以确保不 添加新的 文件到 future 提交。现在只需删除文件,使用 git rm -r --cached __pycache__
,并在 .gitignore
中列出 __pycache__
或 __pycache__/
(如果需要,创建此 .gitignore
文件)。对每个 __pycache__
目录执行此操作;使用 OS 的设施来查找这些(例如 find . -name __pycache__ -type d
)。然后 git add .gitignore
和 git commit
提交删除。
请注意,任何时候任何人从 有 文件的任何提交移动到 缺少 [=47] 文件的提交=] 文件,如果 Git 能够做到这一点,他们将删除整个 __pycache__
目录;至少,任何已提交且可以删除的缓存文件都将被删除。因此,上面 git rm -r --cached
中的 --cached
只会通过避免删除缓存的编译文件 这次 [=47] 来为 you 加快速度=].其他人将不得不重建他们的缓存。
要创建一个新的不同的存储库,其中 __pycache__
文件曾经被意外提交,请使用 git filter-branch
(现在已弃用)或新奇的 git filter-repo
(尚未与 Git 一起分发)。或者,查看这些各种现有问题及其答案中的任何一个,您在提出此问题之前应该已经找到了:
- Remove a file from a Git repository without deleting it from the local filesystem
- Applying .gitignore to committed files
- How can I make Git "forget" about a file that was tracked, but is now in .gitignore?
- Remove sensitive files and their commits from Git history
如何使用 .gitignore
删除存储库中的所有 __pycache__
子目录?
在 .gitignore 中添加这个,以后你也可以方便地使用它 generator
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
您无法从现有提交中删除文件:这些提交已被永久冻结。不过,您可以确保不 添加新的 文件到 future 提交。现在只需删除文件,使用 git rm -r --cached __pycache__
,并在 .gitignore
中列出 __pycache__
或 __pycache__/
(如果需要,创建此 .gitignore
文件)。对每个 __pycache__
目录执行此操作;使用 OS 的设施来查找这些(例如 find . -name __pycache__ -type d
)。然后 git add .gitignore
和 git commit
提交删除。
请注意,任何时候任何人从 有 文件的任何提交移动到 缺少 [=47] 文件的提交=] 文件,如果 Git 能够做到这一点,他们将删除整个 __pycache__
目录;至少,任何已提交且可以删除的缓存文件都将被删除。因此,上面 git rm -r --cached
中的 --cached
只会通过避免删除缓存的编译文件 这次 [=47] 来为 you 加快速度=].其他人将不得不重建他们的缓存。
要创建一个新的不同的存储库,其中 __pycache__
文件曾经被意外提交,请使用 git filter-branch
(现在已弃用)或新奇的 git filter-repo
(尚未与 Git 一起分发)。或者,查看这些各种现有问题及其答案中的任何一个,您在提出此问题之前应该已经找到了:
- Remove a file from a Git repository without deleting it from the local filesystem
- Applying .gitignore to committed files
- How can I make Git "forget" about a file that was tracked, but is now in .gitignore?
- Remove sensitive files and their commits from Git history