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

如何git忽略存储库中任意位置的ipython笔记本检查点,git,commit,gitignore,jupyter-notebook,Git,Commit,Gitignore,Jupyter Notebook,这主要是一个愚蠢的问题。我想提交我的ipython笔记本,但忽略检查点 repo有多个文件夹,每个文件夹都有ipython笔记本,因此忽略单个目录并不能解决此问题。我想继续添加新文件夹,里面有笔记本,不用担心 我的直觉是,一定有一种方法可以使用通配符忽略名为*/.ipynb_checkpoints/但无法识别的文件夹中的任何内容 那么,我如何才能git忽略存储库中的所有ipython笔记本检查点,无论它们在哪里?如果添加到。gitignore: .ipynb_checkpoints (任何地方

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

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

我的直觉是,一定有一种方法可以使用通配符忽略名为*/.ipynb_checkpoints/但无法识别的文件夹中的任何内容


那么,我如何才能git忽略存储库中的所有ipython笔记本检查点,无论它们在哪里?如果添加到。gitignore:

.ipynb_checkpoints
(任何地方都没有斜杠),repo中具有该名称的任何文件或目录都将被忽略。仅当包含
/
时,才会检查路径

从中,您还可以为您的计算机设置全局gitignore:

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

添加到您的
.gitignore

.ipynb_checkpoints
*/.ipynb_checkpoints/*
你应该准备好离开。

这很有效

Folder/.ipynb_checkpoints/*.ipynb

我建议在
.gitignore
文件中使用
***.ipynb\u checkpoints/

出于某种原因,目前的答案对我都不起作用。通过添加以下内容,我最终能够让git忽略我的所有检查点文件(以及任何其他不需要的隐藏文件和文件夹):

*#忽略所有隐藏的文件和文件夹
!/.gitignore#显式不忽略。gitignore

我的
.gitignore
文件在repo的基本目录中。这是一个广泛的领域,如果您想在repo中保留隐藏文件,那么维护它将是一件痛苦的事情,但是除了我的
.gitignore
,我不需要任何文件,所以它适合我

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

git rm --cached Folder_with_ipynb/.ipynb_checkpoints/news-checkpoint.ipynb
然后在
.gitignore
中添加以下行:

*/.ipynb_checkpoints/*.ipynb

我使用命令
rm-rf.ipynb\u checkpoints
。这对我很有用。

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

.ipynb_checkpoints
给你的。git忽略

如果您以前已经推送过代码,请添加
.ipynb\u检查点
到您的.gitignore。这将确保将来忽略.ipynb_检查点,但不会删除旧的.ipynb_检查点

您必须手动删除相应分支中每个文件夹中的缓存。首先转到包含.ipynb_检查点的文件夹,然后执行以下操作:

git rm -r --cached .ipynb_checkpoints

这似乎应该奏效,但出于某种原因,它对我不起作用。从根存储库文件夹中,我的检查点位于
Notebook/.ipynb_checkpoints/
中,我一辈子都不能忽略它们!我尝试将该路径添加到我的.gitignore中,其中包含和不包含尾部斜杠。我试过你的建议。我试着添加很多星星。有什么想法吗?@Engineero你有没有告诉git你的
.gitignore
文件和
git config
在哪里?@Engineero:你已经提交了一些
.gitignore
无法忽略事后的内容(如果它们已经提交)@CiprianTomoiaga它正在查找我的
。gitignore
很好,其他文件和文件夹将被忽略。我不知道为什么这不管用,但我发现了一些管用的东西。我将添加它作为答案。@Mr_和Mrs_D我也有这个问题,但我只是取消了文件索引,并在
.gitignore
中尝试了其他方法。我最终能够用我将要补充的东西使它工作。是的,对我来说,上面的任何一个都不起作用。即使是你的提议。当一个检查点被创建时,它会以git状态出现。也就是说,删除文件夹,而不是忽略它。这是一个误导性的答案。我曾经遇到过这个问题,并且仔细查看了各种答案,但这一个为我解决了它。事实上,我首先独立地找到了解决方案,只有在检查时才看到这一点。需要明确的是,如果您在
git status
中包含了持久化文件,即使在
.gitignore
中包含了它们的文件夹,也要检查这些文件以前是否已提交。最简单的方法是使用上面的
git-rm
命令。
--cached
标志将确保您保留本地副本。