{ "cells": [ { "cell_type": "markdown", "id": "e298a0a0-e553-4f6a-b92e-472ad0113053", "metadata": {}, "source": [ "## Verwendung von .gitignore" ] }, { "cell_type": "markdown", "id": "2d018237-4f59-4b70-9d73-11b8a9a9e904", "metadata": {}, "source": [ ".gitignore ist eine spezielle Datei in Git-Repositories, die angibt, welche Dateien oder Verzeichnisse von Git ignoriert werden sollen. Das bedeutet, dass diese Dateien nicht in das Git-Repository aufgenommen und auch nicht in Commits enthalten sind." ] }, { "cell_type": "markdown", "id": "cfc00c1f-97ac-477a-923d-c58c9f2a7eea", "metadata": {}, "source": [ "### Hier ist eine kurze Beschreibung zu .gitignore:erwaltet werden." ] }, { "cell_type": "markdown", "id": "4f9ab5bb-544f-4c5d-9396-6b42282f7b3a", "metadata": {}, "source": [ "\n", ".gitignore ist eine spezielle Datei in Git-Repositories, die angibt, welche Dateien oder Verzeichnisse von Git ignoriert werden sollen. Das bedeutet, dass diese Dateien nicht in das Git-Repository aufgenommen und auch nicht in Commits enthalten sind.\n", "\n", "Einige Hauptanwendungsfälle für .gitignore sind:\n", "\n", "1. **Ignorieren von Kompilaten**: Wenn ein Projekt Dateien wie Objektdateien, Binärdateien oder andere Kompilate erzeugt, können diese in .gitignore aufgenommen werden, um das Repository sauber zu halten.\n", "\n", "2. **Ignorieren von Konfigurationsdateien**: Lokale Konfigurationsdateien, die für jeden Entwickler unterschiedlich sein können, sollten in .gitignore stehen, um Konflikte zu vermeiden.\n", "\n", "3. **Ignorieren von temporären Dateien**: Dateien, die von Editoren, IDEs oder Betriebssystemen temporär erzeugt werden, können ebenfalls in .gitignore aufgenommen werden.\n", "\n", "4. **Ignorieren von sensiblen Daten**: Vertrauliche Informationen wie Zugangsdaten, Schlüssel oder andere private Daten sollten niemals in ein Git-Repository gelangen und gehören daher in .gitignore.\n", "\n", "Die Syntax von .gitignore ist relativ einfach: Jede Zeile enthält ein Muster, das mit Dateien oder Verzeichnissen übereinstimmen soll. Wildcards wie * oder ? können verwendet werden, um ganze Gruppen von Dateien auszuschließen.\n", "\n", "Eine gut gepflegte .gitignore-Datei hilft, das Git-Repository aufgeräumt und übersichtlich zu halten, indem nur die relevanten Dateien verwaltet werden." ] }, { "cell_type": "markdown", "id": "bc78d73d-c2a7-4d7f-9d5d-49140e3e7348", "metadata": {}, "source": [ "### Hier ist ein Beispiel, wie eine .gitignore angelegt wird" ] }, { "cell_type": "code", "execution_count": 2, "id": "cd7d14ad-093c-46fd-b312-d836096f5cf2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ ".gitignore-Datei wurde unter ./.gitignore erstellt.\n" ] } ], "source": [ "import os\n", "\n", "# Pfad zu Ihrem lokalen Git-Repository\n", "repo_path = './'\n", "\n", "# Pfad zur .gitignore-Datei\n", "gitignore_path = os.path.join(repo_path, '.gitignore')\n", "\n", "# Inhalt der .gitignore-Datei\n", "gitignore_content = \"\"\"\n", "# Ignoriere die .env-Datei\n", ".env\n", ".create.env.ipynb\n", ".read.env.ipynb\n", "\n", "# Ignoriere weitere typische Dateien/Verzeichnisse\n", "__pycache__/\n", "*.py[cod]\n", "*.so\n", "*.egg-info/\n", ".DS_Store\n", "\"\"\"\n", "\n", "# .gitignore-Datei erstellen und schreiben\n", "with open(gitignore_path, 'w') as gitignore_file:\n", " gitignore_file.write(gitignore_content)\n", "\n", "print(f\".gitignore-Datei wurde unter {gitignore_path} erstellt.\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.6" } }, "nbformat": 4, "nbformat_minor": 5 }