it-praxisportal/courses/git/course.json

138 lines
No EOL
5 KiB
JSON

{
"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"
}
]
}
]
}