Set your name and email (used in commits)
This guide covers Phase 3 of the Quick Start β creating your Git repository and configuring GitHub for the IT-Journey project. Every Jekyll site lives in a Git repository, and this phase sets yours up.
Prerequisites¶
- GitHub CLI (optional but recommended)
- Git installed and configured
- A GitHub account
Confirm your tools:
macOS:
Windows:
Install GitHub CLI¶
macOS¶
Windows¶
Linux (Ubuntu/Debian)¶
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update && sudo apt install gh
Verify¶
Configure Git Identity¶
# Set your name and email (used in commits)
git config --global user.name "Your Full Name"
git config --global user.email "your-email@example.com"
# Set default branch name
git config --global init.defaultBranch main
# For GitHub noreply email (replace <username>):
git config --global user.email "<username>@users.noreply.github.com"
# Verify
git config --list
Authenticate with GitHub¶
# Login to GitHub CLI (follow the interactive prompts)
gh auth login
# Verify authentication
gh auth status
Create Your Repository¶
Choose one of these three approaches:
Option A: Fork IT-Journey (Recommended for Learning)¶
Fork the full IT-Journey repository to get all content, themes, workflows, and configuration:
This creates a fork under your GitHub account and clones it locally.
Option B: Start Fresh with zer0-mistakes¶
Create a new repository and add the zer0-mistakes theme from scratch:
mkdir my-site && cd my-site
git init
git remote add origin https://github.com/YOUR-USERNAME/my-site.git
Then add the theme configuration manually (see Jekyll Setup).
Option C: Use the zer0-mistakes Installer¶
One-command setup that creates the Gemfile, docker-compose.yml, starter _config.yml, and a GitHub Actions workflow:
Repository Structure¶
A fully configured Jekyll site using the zer0-mistakes theme looks like this:
my-site/
βββ _config.yml # Main Jekyll configuration
βββ _config_dev.yml # Development overrides
βββ Gemfile # Ruby dependencies
βββ docker-compose.yml # Docker development environment
βββ Dockerfile # Container build definition
βββ index.md # Homepage
βββ 404.html # Custom error page
βββ _data/ # Site data files
β βββ navigation/ # Menu configurations (YAML)
β βββ ui-text.yml # UI string translations
βββ _includes/ # Reusable HTML partials
βββ _layouts/ # Page templates
βββ _plugins/ # Custom Jekyll plugins
βββ assets/ # Static files (CSS, JS, images)
βββ pages/ # Content collections
β βββ _posts/ # Blog posts (YYYY-MM-DD-slug.md)
β βββ _quests/ # Gamified learning content
β βββ _docs/ # Reference documentation
β βββ _quickstart/ # Quick start guides
β βββ _notebooks/ # Jupyter notebooks
β βββ _notes/ # Draft notes
β βββ _about/ # About pages
βββ scripts/ # Automation scripts
βββ test/ # Testing tools
βββ docs/ # Developer documentation
βββ .github/ # GitHub config & CI/CD workflows
Add Submodules (Optional)¶
If your project uses Git submodules:
git submodule add https://github.com/bamr87/winget-packages.git winget
# If the submodule directory is empty, initialize it:
git submodule update --init
What's Next¶
| Next Step | Guide |
|---|---|
| Install Jekyll and the zer0-mistakes theme | Jekyll Setup |
Configure _config.yml for your site |
Site Configuration |
| Set up your development environment | Machine Setup |
IT-Journey Quests: Git Basics Β· GitHub Pages Basics
IT-Journey Docs: Repository Structure
External Docs: GitHub: Creating a Repository Β· Git Documentation