Como ignorar pontos de verificação de notebook ipython em qualquer lugar do repositório

99

Esta é principalmente uma questão git. Eu quero comprometer meus notebooks ipython, mas gitignore os pontos de verificação.

O repo tem várias pastas, cada uma com notebooks ipython, portanto, apenas ignorar um único diretório não resolve o problema. Quero continuar adicionando novas pastas com notebooks sem me preocupar com isso.

Meu palpite é que deve haver uma maneira de usar algum caractere curinga para gitignore qualquer coisa que esteja em uma pasta chamada * / .ipynb_checkpoints / mas não tenha sido capaz de descobrir.

Então, como posso ignorar todos os pontos de verificação de notebook ipython em um repositório, onde quer que estejam?

sapo_cosmico
fonte

Respostas:

130

Se você adicionar a .gitignore:

.ipynb_checkpoints

(sem barras em qualquer lugar), qualquer arquivo ou diretório no repo com esse nome será ignorado. Os caminhos são verificados apenas se você incluir /.

Com esta resposta, você também pode ter um gitignore global para o seu computador:

git config --global core.excludesfile '~/.gitignore'
echo '.ipynb_checkpoints' >> ~/.gitignore
minrk
fonte
1
Parece que deveria funcionar, mas por algum motivo não está funcionando para mim. Na pasta do repositório raiz, meus pontos de verificação estão localizados em notebooks/.ipynb_checkpoints/e não posso ignorá-los! Tentei adicionar esse caminho, com e sem a barra final, ao meu .gitignore. Tentei sua sugestão. Tentei adicionar muitas estrelas. Alguma ideia?
Engineero
@Engineero você disse ao git onde está seu .gitignorearquivo git config?
Ciprian Tomoiagă,
4
@Engineero: você já cometeu algum? .gitignorenão pode ignorar coisas após o fato (se já estiverem confirmadas)
Mr_and_Mrs_D
@CiprianTomoiaga está me encontrando .gitignorebem, e outros arquivos e pastas serão ignorados. Não sei por que isso não funciona, mas encontrei algo que funciona. Vou adicioná-lo como uma resposta.
Engineero
@Mr_and_Mrs_D Eu também tive esse problema, mas acabei de desindexar os arquivos e tentei outra coisa em .gitignore. Por fim, consegui fazê-lo funcionar com algo que acrescentarei como resposta.
Engineero
25

Eu recomendaria usar **/*.ipynb_checkpoints/em seu .gitignorearquivo.

Anton Karazeev
fonte
10

Adicione ao seu .gitignore:

.ipynb_checkpoints
*/.ipynb_checkpoints/*

E você deve estar pronto para ir.

Djwbrown
fonte
2

Isso funciona.

Folder/.ipynb_checkpoints/*.ipynb
Merlin
fonte
2

Algumas vezes você pode esquecer que já está rastreando o arquivo em seu repositório git (como foi no meu caso). Então você pode ter que desvendá-lo primeiro

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

e, em seguida, adicione à sua .gitignorelinha:

*/.ipynb_checkpoints/*.ipynb
Alexandre
fonte
-1

Por algum motivo, nenhuma das respostas atuais funcionou para mim. Eu consegui fazer o git ignorar todos os meus arquivos de checkpoint (e quaisquer outros arquivos e pastas ocultos indesejados) adicionando:

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

ao meu .gitignorearquivo no diretório base do repo. Essa é uma varredura ampla e será uma tarefa difícil mantê-la se você quiser manter arquivos ocultos em seu repositório, mas não preciso de nenhum, exceto o meu .gitignore, então funciona para mim!

Engenheiro
fonte
Sim para mim também nenhuma das opções acima funciona. Até o que você propôs. Quando um ponto de verificação é criado, ele aparece no status git.
pebox11
-2

Usei o comando rm -rf .ipynb_checkpoints. Isso funcionou para mim.

Sahar Nasser
fonte
2
Isso é excluir a pasta, não ignorá-la. Esta é uma resposta enganosa.
Chandra Kanth