如何 git 忽略存储库中任何位置的 ipython 笔记本检查点

How to git ignore ipython notebook checkpoints anywhere in repository

这主要是一个 git 问题。我想提交我的 ipython 笔记本,但 git 忽略检查点。

repo 有多个文件夹,每个文件夹都有 ipython 个笔记本,因此仅仅忽略一个目录并不能解决问题。我想继续添加新的文件夹,里面有笔记本而不用担心。

我的直觉是,必须有一种方法可以使用一些通配符 git忽略名为 */.ipynb_checkpoints/[= 的文件夹中的任何内容21=] 但一直没弄清楚。

那么,我如何 git 忽略存储库中的所有 ipython 笔记本检查点,无论它们在哪里?

如果添加到.gitignore:

.ipynb_checkpoints

(任何地方都没有斜杠),回购协议中具有该名称的任何文件或目录都将被忽略。只有包含 /.

时才会检查路径

this answer 开始,您还可以为您的计算机安装全局 gitignore:

git config --global core.excludesfile '~/.gitignore'
echo '.ipynb_checkpoints' >> ~/.gitignore

添加到您的.gitignore

.ipynb_checkpoints
*/.ipynb_checkpoints/*

你应该可以开始了。

这有效。

Folder/.ipynb_checkpoints/*.ipynb

我建议在您的 .gitignore 文件中使用 **/*.ipynb_checkpoints/

出于某种原因,none 当前答案对我有用。我最终能够 git 忽略我所有的检查点文件(以及任何其他不需要的隐藏文件和文件夹),方法是添加:

.*  # ignore all hidden files and folders
!/.gitignore  # explicitly do not ignore .gitignore

到我的 .gitignore 回购基目录中的文件。这是一个广泛的扫描,如果你想在你的 repo 中保留隐藏文件,维护起来会很痛苦,但我不需要任何东西,除了我的 .gitignore,所以它对我有用!

有时您可能会忘记您已经在跟踪 git 存储库中的文件(就像我的情况一样)。所以你可能必须先取消跟踪它

git rm --cached Folder_with_ipynb/.ipynb_checkpoints/news-checkpoint.ipynb

然后添加到您的 .gitignore 行:

*/.ipynb_checkpoints/*.ipynb

我使用了命令rm -rf .ipynb_checkpoints。这对我有用。

如果您还没有推送代码,请添加

.ipynb_checkpoints

到你的 .gitignore

如果您之前已经推送过代码,请添加 .ipynb_checkpoints 到你的 .gitignore。这将确保 .ipynb_checkpoints 将来会被忽略,但不会删除旧的 .ipynb_checkpoints

您必须手动删除相应分支中每个文件夹中的缓存。首先转到包含 .ipynb_checkpoints 的文件夹,然后执行

git rm -r --cached .ipynb_checkpoints