https://github.com/sebastianfeldmann/learngit.online.playbook
LearnGit.online lessons collection
https://github.com/sebastianfeldmann/learngit.online.playbook
git hacktoberfest lessons
Last synced: 9 months ago
JSON representation
LearnGit.online lessons collection
- Host: GitHub
- URL: https://github.com/sebastianfeldmann/learngit.online.playbook
- Owner: sebastianfeldmann
- License: other
- Created: 2025-09-25T21:16:41.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-10-06T12:11:03.000Z (9 months ago)
- Last Synced: 2025-10-06T12:29:14.664Z (9 months ago)
- Topics: git, hacktoberfest, lessons
- Homepage:
- Size: 86.9 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# LearnGit.online Playbook
This repository contains the lessons for LearnGit.online, a platform teaching Git beyond the basics. Each lesson is stored in a **YAML file**, which makes it easy to read, edit, and contribute to. Lessons are structured as step-by-step scenarios with detailed explanations. You can see them in action at [learngit.online](http://learngit.online).
⚠️ **Work in Progress**
This repository is still in early development. The lesson format, structure, and content may change at any time.
## Lesson Structure
Each lesson contains metadata and a list of steps. Key fields include:
- `title` – The lesson title.
- `description` – A short summary of the lesson.
- `category` – The lesson category (e.g., "basics", "advanced").
- `level` – Difficulty level (e.g., "beginner", "intermediate").
- `time` – Estimated duration of the lesson.
- `order` – Order in the sequence of lessons.
- `steps` – The detailed steps of the lesson.
Each step can include:
- `id` – Step number or identifier.
- `title` – Step title.
- `description` – Short explanation of the step.
- `next` – Optional pointer to the next step.
- `allowedCommands` – List of allowed commands with expected outputs and hints.
- `cmd` – The exact command the user can run.
- `hint` – Optional hint to guide the user.
- `valid` – Regex to validate input.
- `output` – Optional simulated terminal output.
### Example Snippet
```yaml
title: "Git Commit Workflow"
description: "Learn the basics of staging and committing changes in Git."
category: "basics"
level: "beginner"
time: "10 minutes"
order: 1
steps:
- id: 1
title: "Check repository status"
description: "Start by checking the current status of your repository"
allowedCommands:
- cmd: "git status"
valid: "^git\\s+status$"
output:
- text: |
On branch main
No commits yet
Untracked files:
README.md
.gitignore
nothing added to commit but untracked files present (use "git add" to track)
hint: |
This output shows we're on the main branch with no commits yet,
and have 2 untracked files that need to be added to version control.
hint: |
Shows the working tree status - which files are tracked,
untracked, or staged for commit
```
## License
All lesson content is licensed under [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)](https://creativecommons.org/licenses/by-nc-sa/4.0/).
You are free to share and adapt these lessons **for non-commercial purposes**, as long as you:
- Give appropriate credit to Sebastian Feldmann
- Include a link to the license
- Indicate if changes were made
- Distribute any derivative work under the same license
For example, a proper attribution could look like:
> "Contains LearnGit.online lessons by Sebastian Feldmann (https://learngit.online), licensed under CC BY-NC-SA 4.0."