diff --git a/LF05/Verwendung von .gitignore.ipynb b/LF05/Verwendung von .gitignore.ipynb new file mode 100644 index 0000000..623a46d --- /dev/null +++ b/LF05/Verwendung von .gitignore.ipynb @@ -0,0 +1,125 @@ +{ + "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 +}