Come ignorare i checkpoint del notebook ipython ovunque nel repository


99

Questa è principalmente una domanda stupida. Voglio eseguire il commit dei miei notebook ipython ma gitignore i checkpoint.

Il repository ha più cartelle che hanno ciascuna notebook ipython, quindi ignorare una singola directory non lo risolve. Voglio continuare ad aggiungere nuove cartelle con i taccuini all'interno senza preoccuparmene.

La mia impressione è che ci debba essere un modo per utilizzare alcuni caratteri jolly per gitignore tutto ciò che si trova in una cartella chiamata * /. Ipynb_checkpoints / ma non sono stato in grado di capirlo.

Quindi, come posso ignorare tutti i checkpoint dei notebook ipython in un repository, ovunque si trovino?

Risposte:


130

Se aggiungi a .gitignore:

.ipynb_checkpoints

(nessuna barra da nessuna parte), qualsiasi file o directory nel repository con quel nome verrà ignorato. I percorsi vengono selezionati solo se includi /.

Da questa risposta puoi anche avere un gitignore globale per il tuo computer:

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

1
Sembra che dovrebbe funzionare, ma per qualche motivo non funziona per me. Dalla cartella del repository principale, i miei checkpoint si trovano in notebooks/.ipynb_checkpoints/e non posso ignorarli per tutta la vita! Ho provato ad aggiungere quel percorso, con e senza la barra finale al mio .gitignore. Ho provato il tuo suggerimento. Ho provato ad aggiungere molte stelle. Qualche idea?
Ingegnere

@Engineero hai detto a git dove si trova il tuo .gitignorefile git config?
Ciprian Tomoiagă

4
@Engineero: ne hai già impegnati alcuni? .gitignorenon può ignorare le cose dopo il fatto (se sono già impegnate)
Mr_and_Mrs_D

@CiprianTomoiaga sta trovando il mio .gitignorebene e altri file e cartelle verranno ignorati. Non so perché non funziona, ma ho trovato qualcosa che funziona. Lo aggiungerò come risposta.
Engineero

@Mr_and_Mrs_D Anch'io ho avuto questo problema, ma ho solo deindicizzato i file e ho provato qualcos'altro .gitignore. Alla fine sono riuscito a farlo funzionare con qualcosa che aggiungerò come risposta.
Engineero


10

Aggiungi al tuo .gitignore:

.ipynb_checkpoints
*/.ipynb_checkpoints/*

E dovresti essere a posto.



2

A volte potresti dimenticare che stai già monitorando il file nel tuo repository git (come nel mio caso). Quindi potresti dover prima annullare il tracciamento

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

e poi aggiungi alla tua .gitignorelinea:

*/.ipynb_checkpoints/*.ipynb

-1

Per qualche ragione, nessuna delle risposte attuali ha funzionato per me. Alla fine sono riuscito a far sì che git ignorasse tutti i miei file di checkpoint (e qualsiasi altro file e cartella nascosti indesiderati) aggiungendo:

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

al mio .gitignorefile nella directory di base del repository. Questa è una panoramica ampia e sarà una seccatura da mantenere se vuoi mantenere i file nascosti nel tuo repository, ma non ho bisogno di nessuno tranne il mio .gitignore, quindi funziona per me!


Sì anche per me nessuno dei precedenti funziona. Anche quello che hai proposto. Quando viene creato un checkpoint, appare in stato git.
pebox11

-2

Ho usato il comando rm -rf .ipynb_checkpoints. Questo ha funzionato per me.


2
Ovvero eliminare la cartella, non ignorarla. Questa è una risposta fuorviante.
Chandra Kanth
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.