138 lines
No EOL
5 KiB
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"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
} |