Это в основном вопрос git. Я хочу зафиксировать свои записные книжки ipython, но игнорирую контрольные точки.

В репо есть несколько папок, в каждой из которых есть записные книжки ipython, поэтому простое игнорирование одного каталога не решит эту проблему. Я хочу продолжать добавлять новые папки с записными книжками внутри, не беспокоясь об этом.

Я догадываюсь, что должен быть способ использовать какой-нибудь подстановочный знак для gitignore всего, что находится в папке с именем * /. Ipynb_checkpoints /, но не смог понять это.

Итак, как я могу git игнорировать все контрольные точки записной книжки ipython в репозитории, где бы они ни находились?

Ответы (8)

Если добавить в .gitignore:

.ipynb_checkpoints

(нигде нет косой черты), любой файл или каталог в репозитории с таким именем будет проигнорирован. Пути проверяются, только если вы включаете /.

Из этот ответ вы также можете иметь глобальный gitignore для своего компьютера:

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

Если вы еще не отправили свой код, добавьте

.ipynb_checkpoints

в ваш .gitignore

Если вы уже отправляли свой код раньше, добавьте .ipynb_checkpoints в ваш .gitignore. Это гарантирует, что .ipynb_checkpoints будет игнорироваться в будущем, но не удалит ваши старые .ipynb_checkpoints

Вы должны вручную удалить кеш в каждой папке в соответствующей ветке. Сначала перейдите в папку с .ipynb_checkpoints и выполните

git rm -r --cached .ipynb_checkpoints

I used the command rm -rf .ipynb_checkpoints. This worked for me.

Это работает.

Folder/.ipynb_checkpoints/*.ipynb

Я бы рекомендовал использовать ** / *. Ipynb_checkpoints / в вашем файле .gitignore.

Иногда вы можете забыть, что вы уже отслеживаете файл в своем репозитории git (как это было в моем случае). Так что вам, возможно, придется сначала отменить его

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

, а затем добавьте в свой .gitignore строку:

*/.ipynb_checkpoints/*.ipynb

Добавьте в свой .gitignore:

.ipynb_checkpoints
*/.ipynb_checkpoints/*

И тебе должно быть хорошо.

По какой-то причине ни один из текущих ответов у меня не сработал. В конце концов мне удалось заставить git игнорировать все мои файлы контрольных точек (и любые другие нежелательные скрытые файлы и папки), добавив:

. * # Игнорировать все скрытые файлы и папки
! /. gitignore # явно не игнорировать .gitignore

в мой файл .gitignore в базовом каталоге репо. Это довольно сложный процесс, и вам будет сложно поддерживать его, если вы хотите сохранить скрытые файлы в своем репо, но мне не нужны какие-либо, кроме моего .gitignore, так что он работает для меня!

2022 WebDevInsider