{"id":51611402,"url":"https://github.com/braboj/tutorial-git","last_synced_at":"2026-07-12T08:03:56.841Z","repository":{"id":44695699,"uuid":"438263033","full_name":"braboj/tutorial-git","owner":"braboj","description":"A hands-on Git tutorial from first commit to confident daily use — concepts, exercises, and real-world examples","archived":false,"fork":false,"pushed_at":"2026-05-10T05:40:07.000Z","size":48857,"stargazers_count":10,"open_issues_count":23,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-10T07:27:18.558Z","etag":null,"topics":["beginner","developer-tools","git","git-tutorial","learn-git","learning-resources","tutorial","version-control"],"latest_commit_sha":null,"homepage":"https://braboj.me/tutorial-git/","language":"Astro","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/braboj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-12-14T13:27:27.000Z","updated_at":"2026-05-10T05:40:10.000Z","dependencies_parsed_at":"2022-09-12T13:41:20.156Z","dependency_job_id":null,"html_url":"https://github.com/braboj/tutorial-git","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/braboj/tutorial-git","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/braboj%2Ftutorial-git","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/braboj%2Ftutorial-git/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/braboj%2Ftutorial-git/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/braboj%2Ftutorial-git/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/braboj","download_url":"https://codeload.github.com/braboj/tutorial-git/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/braboj%2Ftutorial-git/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35385773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-12T02:00:06.386Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["beginner","developer-tools","git","git-tutorial","learn-git","learning-resources","tutorial","version-control"],"created_at":"2026-07-12T08:03:56.291Z","updated_at":"2026-07-12T08:03:56.832Z","avatar_url":"https://github.com/braboj.png","language":"Astro","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Git Tutorial\n\nA hands-on Git tutorial for developers who want to go from first commit\nto confident daily use. It covers everything from installation to\nadvanced topics like rebase, bisect, and submodules. The content is\npublished as a static site built with Astro and deployed to GitHub Pages.\n\n- Chapters covering installation through expert topics (hooks, bisect, refspecs)\n- Step-by-step recipes for common Git tasks\n- Exercises with verification steps in every chapter\n- Quizzes at the end of each chapter\n- Concepts-first approach — object model and references before commands\n- Glossary of key terms cross-referenced to chapters\n\n## Quick start\n\nPrerequisites: [Node.js](https://nodejs.org/) 22+\n\n```text\n$ git clone https://github.com/braboj/tutorial-git.git\n$ cd tutorial-git/astro-site\n$ npm install\n$ ln -s ../../../assets src/content/assets   # image symlink (Linux/macOS)\n$ npm run dev\n```\n\nOpen [localhost:4321/tutorial-git/](http://localhost:4321/tutorial-git/) in your browser.\n\nOn Windows, the symlink is created as a directory copy automatically.\n\n## Usage\n\nRead the tutorial on the live site:\n[braboj.me/tutorial-git](https://braboj.me/tutorial-git/)\n\nChapters can also be read directly as Markdown files in the `chapters/`\ndirectory.\n\n| # | Chapter | Topics |\n|---|---------|--------|\n| 1 | [Introduction](chapters/01-introduction.md) | What Git is, installation, how it works, command overview |\n| 2 | [Building Blocks](chapters/02-building-blocks.md) | Repositories, objects, references, HEAD, tags |\n| 3 | [Branching and Merging](chapters/03-branching-and-merging.md) | Branches, merge strategies, rebase, cherry-pick, conflicts, stash |\n| 4 | [Remote Repositories](chapters/04-remote-repositories.md) | Clone, push, pull, fetch, remote tracking, forking workflows |\n| 5 | [Nested Repositories](chapters/05-nested-repositories.md) | Submodules and subtrees |\n| 6 | [Expert Topics](chapters/06-expert-topics.md) | Configuration, selectors, refspecs, hooks, bisect |\n| 7 | [Playbook](chapters/07-playbook.md) | Step-by-step recipes for common tasks |\n| 8 | [Appendix](chapters/08-appendix.md) | Merge strategies, SSH setup, Git clients, references |\n| 9 | [Glossary](chapters/09-glossary.md) | Key terms and definitions |\n\n## Project structure\n\n```\nchapters/              # Canonical tutorial content (SSG-agnostic Markdown)\nassets/\n  images/              # PNG exports used in chapters\n  drawio/              # draw.io source files (editable)\n  banners/             # Banner images\nastro-site/            # Astro static site\n  src/\n    components/        # Astro components (Header, ToC, TutorialLinks)\n    layouts/           # Page layouts\n    pages/             # Route definitions\n    styles/            # Global CSS\n    data/              # Site configuration (site.json)\ndocs/                  # Project docs, decisions, dev journal\n  solid-ai-templates/  # Submodule — quality conventions\n```\n\n## Development setup\n\n```text\n$ git clone https://github.com/braboj/tutorial-git.git\n$ cd tutorial-git/astro-site\n$ npm install\n$ npm run dev       # dev server with hot reload\n$ npm run build     # production build to dist/\n$ npm run preview   # preview production build\n```\n\n## Configuration reference\n\n| Key | Location | Description |\n|-----|----------|-------------|\n| `site` | `astro.config.mjs` | Base URL for the deployed site |\n| `base` | `astro.config.mjs` | Path prefix for GitHub Pages (`/tutorial-git/`) |\n| `trailingSlash` | `astro.config.mjs` | URL style — set to `always` |\n| `title` | `src/data/site.json` | Site title shown in header |\n| `tabs` | `src/data/site.json` | Navigation tab labels and hrefs |\n| `tutorials` | `src/data/site.json` | Links to other tutorials in the sidebar |\n\n## Links\n\n- [Live site](https://braboj.me/tutorial-git/)\n- [Contribution guide](docs/ONBOARDING.md)\n- [Dev journal](docs/dev-journal.md)\n- [Playbook](docs/PLAYBOOK.md)\n\n## Credits\n\n- [Branimir Georgiev](https://github.com/braboj)\n- [Marwan Rashed](https://github.com/marwan-rashed)\n\n## License\n\n[CC BY-NC-SA 4.0](LICENSE.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbraboj%2Ftutorial-git","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbraboj%2Ftutorial-git","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbraboj%2Ftutorial-git/lists"}