Wie man Ipython-Notebook-Checkpoints irgendwo im Repository ignoriert

Lesezeit: 3 Minuten

Benutzer-Avatar
sapo_cosmico

Dies ist hauptsächlich eine Git-Frage. Ich möchte meine Ipython-Notebooks festschreiben, aber die Checkpoints ignorieren.

Das Repo hat mehrere Ordner, die jeweils Ipython-Notebooks enthalten, daher löst es nicht, nur ein einzelnes Verzeichnis zu ignorieren. Ich möchte ständig neue Ordner mit Notizbüchern hinzufügen, ohne mich darum kümmern zu müssen.

Meine Vermutung ist, dass es eine Möglichkeit geben muss, einen Platzhalter zu verwenden gitignore alles, was sich in einem Ordner namens */.ipynb_checkpoints/ befindet konnte es aber nicht herausfinden.

Wie kann ich also alle Ipython-Notebook-Checkpoints in einem Repository ignorieren, wo immer sie sich befinden?

Benutzer-Avatar
Nerz

Wenn Sie zu .gitignore hinzufügen:

.ipynb_checkpoints

(keine Schrägstriche), alle Dateien oder Verzeichnisse im Repo mit diesem Namen werden ignoriert. Pfade werden nur überprüft, wenn Sie sie einschließen /.

Aus dieser Antwort können Sie auch eine globale Gitignore für Ihren Computer haben:

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

  • Das scheint so zu funktionieren, aber aus irgendeinem Grund funktioniert es bei mir nicht. Aus dem Root-Repository-Ordner befinden sich meine Checkpoints notebooks/.ipynb_checkpoints/, und ich kann sie um mein Leben nicht ignorieren! Ich habe versucht, diesen Pfad mit und ohne nachgestellten Schrägstrich zu meiner .gitignore hinzuzufügen. Ich habe deinen Vorschlag ausprobiert. Ich habe versucht, viele Sterne hinzuzufügen. Irgendwelche Ideen?

    – Ingenieur

    23. August 2017 um 20:42 Uhr

  • @Engineero hast du git gesagt, wo du bist .gitignore Datei ist mit git config ?

    – Ciprian Tomoiagă

    17. Oktober 2017 um 12:33 Uhr

  • @Engineero: hast du schon etwas davon übernommen? .gitignore kann Dinge nicht nachträglich ignorieren (wenn sie bereits festgeschrieben sind)

    – Herr_und_Frau_D

    24. Oktober 2017 um 10:17 Uhr

  • @CiprianTomoiaga es findet meine .gitignore ganz gut, und andere Dateien und Ordner werden ignoriert. Ich weiß nicht, warum das nicht funktioniert, aber ich habe etwas gefunden, das funktioniert. Ich werde es als Antwort hinzufügen.

    – Ingenieur

    24. Oktober 2017 um 15:32 Uhr


  • @Mr_and_Mrs_D Ich hatte das Problem auch, aber ich habe gerade die Dateien de-indiziert und etwas anderes ausprobiert .gitignore. Ich konnte es schließlich mit etwas zum Laufen bringen, das ich als Antwort hinzufügen werde.

    – Ingenieur

    24. Oktober 2017 um 15:33 Uhr

Ich würde empfehlen zu verwenden **/*.ipynb_checkpoints/ in deiner .gitignore Datei.

Fügen Sie zu Ihrem hinzu .gitignore:

.ipynb_checkpoints
*/.ipynb_checkpoints/*

Und Sie sollten gut zu gehen sein.

Wenn Sie Ihren Code noch nicht übertragen haben, fügen Sie ihn hinzu

.ipynb_checkpoints

zu Ihrer .gitignore

Wenn Sie Ihren Code bereits zuvor gepusht haben, fügen Sie hinzu
.ipynb_checkpoints zu Ihrer .gitignore. Dadurch wird sichergestellt, dass .ipynb_checkpoints in Zukunft ignoriert werden, Ihre alten .ipynb_checkpoints werden jedoch nicht entfernt

Sie müssen den Cache in jedem Ordner im jeweiligen Zweig manuell entfernen. Gehen Sie zuerst in den Ordner mit den .ipynb_checkpoints und tun Sie es

git rm -r --cached .ipynb_checkpoints

Manchmal vergessen Sie vielleicht, dass Sie die Datei bereits in Ihrem Git-Repository verfolgen (wie in meinem Fall). Es kann also sein, dass Sie es zuerst untracken müssen

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

und fügen Sie dann zu Ihrer hinzu .gitignore die Linie:

*/.ipynb_checkpoints/*.ipynb

Benutzer-Avatar
Merlin

Das funktioniert.

Folder/.ipynb_checkpoints/*.ipynb

Benutzer-Avatar
Ingenieur

Aus irgendeinem Grund hat keine der aktuellen Antworten für mich funktioniert. Ich konnte Git schließlich dazu bringen, alle meine Checkpoint-Dateien (und alle anderen unerwünschten versteckten Dateien und Ordner) zu ignorieren, indem ich Folgendes hinzufügte:

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

zu meinem .gitignore Datei im Basisverzeichnis des Repos. Dies ist ein umfassender Überblick, und es wird mühsam sein, ihn zu pflegen, wenn Sie versteckte Dateien in Ihrem Repo behalten möchten, aber ich brauche keine außer meinen .gitignorealso bei mir funktioniert es!

  • Ja, bei mir funktioniert auch keines der oben genannten. Sogar das, was Sie vorgeschlagen haben. Wenn ein Checkpoint erstellt wird, erscheint er im Git-Status.

    – pebox11

    14. Juni 2019 um 22:28 Uhr

  • @ pebox11 Das gleiche gilt für mich, es schien verrückt unmöglich, keine Checkpoints zu haben, aber schließlich half mir Ashok Kumars Antwort zu zwischengespeicherten Dateien.

    – Gero

    24. Februar um 19:20 Uhr

1324930cookie-checkWie man Ipython-Notebook-Checkpoints irgendwo im Repository ignoriert

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy