Як git ігнорувати контрольні точки блокнота ipython у будь-якому місці репозиторію


100

Це здебільшого питання git. Я хочу зафіксувати свої блокноти ipython, але ігнорувати контрольно-пропускні пункти.

У репо є кілька папок, кожна з яких має блокноти ipython, тому просто ігнорування окремого каталогу це не вирішує. Я хочу продовжувати додавати нові папки з блокнотами всередині, не турбуючись про це.

Я здогадуюсь, що повинен бути спосіб використовувати якийсь підстановочний знак, щоб ігнорувати все, що знаходиться в папці, яка називається * /. Ipynb_checkpoints /, але не змогла це зрозуміти.

Отже, як я можу git ігнорувати всі контрольні точки блокнотів ipython у сховищі, де б вони не знаходились?

Відповіді:


132

Якщо ви додасте до .gitignore:

.ipynb_checkpoints

(ніде немає скісних рисок), будь-який файл чи каталог у репозиторії з таким ім’ям буде ігноруватися. Шляхи перевіряються лише за умови включення /.

З цієї відповіді ви також можете отримати загальний gitignore для вашого комп'ютера:

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

1
Здається, це має спрацювати, але чомусь не працює для мене. З кореневої папки сховища мої контрольно-пропускні пункти знаходяться в notebooks/.ipynb_checkpoints/, і я не можу протягом усього життя їх ігнорувати! Я спробував додати цей шлях із кінцевою косою рискою та без мого .gitignore. Я спробував вашу пропозицію. Я спробував додати багато зірок. Будь-які ідеї?
Engineero

@Engineero ви сказали git, де знаходиться ваш .gitignoreфайл git config?
Ciprian Tomoiagă

5
@Engineero: ти вже щось зробив? .gitignoreне можу ігнорувати речі після факту (якщо вони вже скоєні)
Mr_and_Mrs_D

@CiprianTomoiaga він знаходить мене .gitignoreпросто чудово, а інші файли та папки будуть ігноруватися. Я не знаю, чому це не працює, але я знайшов щось, що працює. Я додаю це як відповідь.
Engineero

@Mr_and_Mrs_D У мене теж була така проблема, але я просто проіндексував файли і спробував щось інше .gitignore. Врешті-решт я зміг змусити це працювати з чимось, що я додаю як відповідь.
Engineero


11

Додайте до свого .gitignore:

.ipynb_checkpoints
*/.ipynb_checkpoints/*

І вам повинно бути добре їхати.



2

Іноді ви можете забути, що ви вже відстежуєте файл у своєму сховищі git (як це було в моєму випадку). Тож вам, можливо, доведеться спочатку відстежити його

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

а потім додайте до .gitignoreрядка:

*/.ipynb_checkpoints/*.ipynb

-1

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

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

до мого .gitignoreфайлу в базовій директорії репо. Це широкий розмах, і його буде важко підтримувати, якщо ви хочете зберегти приховані файли у своєму репо, але я не потребую жодного, крім мого .gitignore, тому він працює для мене!


Так, для мене теж жодне з перерахованих вище не працює. Навіть те, що ви запропонували. Коли контрольна точка створена, вона відображається у статусі git.
pebox11

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.