{ "id": "git", "title": "Git Versionskontrolle, Branching & DevOps Workflows", "language": "bash", "icon": "🔀", "runner": "bash", "description": "Vom ersten Commit über Branching, Merge-Konfliktlösung, Remotes & Tags bis zu interaktivem Rebase, Pre-Commit Hooks und professionellem Git-Flow.", "tracks": [ { "id": "track_1_git_basics", "title": "🌱 Lehrpfad 1: Git Grundlagen & Lokale Repositories", "description": "Initialisierung, die 3 logischen Bereiche, Staging, atomare Commits, Historie und .gitignore.", "certificateKey": "git_basics", "chapters": [ { "folder": "01_git_init_und_repo_basics", "title": "Git 01: Repository-Initialisierung & 3 Bereiche", "taskFile": "aufgabe.sh", "testFile": "test_aufgabe.sh" }, { "folder": "02_staging_commits_und_historie", "title": "Git 02: Staging Area, Commits & Historie", "taskFile": "aufgabe.sh", "testFile": "test_aufgabe.sh" }, { "folder": "03_aenderungen_vergleichen_mit_git_diff", "title": "Git 03: Diff-Analysen & Änderungen untersuchen", "taskFile": "aufgabe.sh", "testFile": "test_aufgabe.sh" }, { "folder": "04_dateien_ignorieren_und_gitignore", "title": "Git 04: .gitignore & Ausschlussregeln", "taskFile": "aufgabe.sh", "testFile": "test_aufgabe.sh" } ] }, { "id": "track_2_branching_merging", "title": "⚡ Lehrpfad 2: Branching, Merging & Konflikte", "description": "Paralleles Arbeiten auf Branches, Fast-Forward vs. 3-Way-Merge, Konfliktlösung und Stash.", "certificateKey": "git_branching", "chapters": [ { "folder": "05_branching_und_switch", "title": "Git 05: Branch-Management & HEAD-Pointer", "taskFile": "aufgabe.sh", "testFile": "test_aufgabe.sh" }, { "folder": "06_fast_forward_und_3way_merge", "title": "Git 06: Fast-Forward & 3-Way-Merge Strategien", "taskFile": "aufgabe.sh", "testFile": "test_aufgabe.sh" }, { "folder": "07_merge_konflikte_verstehen_und_loesen", "title": "Git 07: Merge-Konflikte analysieren & lösen", "taskFile": "aufgabe.sh", "testFile": "test_aufgabe.sh" }, { "folder": "08_temporaere_aenderungen_mit_git_stash", "title": "Git 08: Zwischenspeichern mit Git Stash", "taskFile": "aufgabe.sh", "testFile": "test_aufgabe.sh" } ] }, { "id": "track_3_remotes_collaboration", "title": "🚀 Lehrpfad 3: Remote Repositories & Team-Collaboration", "description": "Origin-Remotes, push/pull, Fetch vs. Pull, SemVer Tags und selektives Cherry-Picking.", "certificateKey": "git_collaboration", "chapters": [ { "folder": "09_remotes_verbinden_und_git_push", "title": "Git 09: Remote Repositories & Upstream Tracking", "taskFile": "aufgabe.sh", "testFile": "test_aufgabe.sh" }, { "folder": "10_git_fetch_vs_git_pull", "title": "Git 10: Git Fetch vs. Git Pull & Rebase", "taskFile": "aufgabe.sh", "testFile": "test_aufgabe.sh" }, { "folder": "11_git_tags_und_releases", "title": "Git 11: Release-Tags & Semantische Versionierung", "taskFile": "aufgabe.sh", "testFile": "test_aufgabe.sh" }, { "folder": "12_cherry_picking_und_selektive_commits", "title": "Git 12: Selektive Commits mit Git Cherry-Pick", "taskFile": "aufgabe.sh", "testFile": "test_aufgabe.sh" } ] }, { "id": "track_4_advanced_workflows", "title": "💎 Lehrpfad 4: Fortgeschrittene Workflows & Master-Projekt", "description": "Rebase, Interaktives Squashing, Git Hooks und Master-Abschlussprojekt Git-Flow.", "certificateKey": "git_master", "chapters": [ { "folder": "13_rebase_fuer_saubere_historie", "title": "Git 13: Lineare Historie mit Git Rebase", "taskFile": "aufgabe.sh", "testFile": "test_aufgabe.sh" }, { "folder": "14_interaktives_rebase_squash_und_fixup", "title": "Git 14: Interaktives Rebase (Squash & Fixup)", "taskFile": "aufgabe.sh", "testFile": "test_aufgabe.sh" }, { "folder": "15_git_hooks_und_automatisierte_checks", "title": "Git 15: Pre-Commit Hooks & Automatisierung", "taskFile": "aufgabe.sh", "testFile": "test_aufgabe.sh" }, { "folder": "16_master_abschlussprojekt_git_flow_und_release", "title": "Master 16: Enterprise Git-Flow & Release Suite", "taskFile": "aufgabe.sh", "testFile": "test_aufgabe.sh" } ] } ] }