Skip to main content

Git & GitHub Documentation

A structured course for mastering Git version control and GitHub collaboration — from first-time setup to production CI/CD pipelines and advanced history management.


Learning Path

1. Introduction

Start here to understand what Git is, how it works internally, and how it compares to alternatives.

2. Configuration

Set up SSH keys, personal access tokens, and optimize your Git environment.

3. Core Commands

Master the commands you'll use every day.

4. Branching & Merging

Work in parallel and combine changes safely.

5. Remote Operations

Connect to GitHub and collaborate with others.

6. Commits & Tags

Master commit anatomy and version management.

7. Workflows

Choose and implement the right branching strategy for your team.

8. GitHub Features

Leverage GitHub's platform beyond basic hosting.

9. Advanced

Power-user techniques for history management and automation.

10. Troubleshooting

Diagnose and fix problems when things go wrong.

11. Cheat Sheets

Quick-reference cards for every Git scenario.

12. AI Collaboration


Quick Start

# 1. Configure Git
git config --global user.name "donnyaw"
git config --global user.email "donnyaw@gmail.com"
git config --global init.defaultBranch main

# 2. Create a repository
mkdir my-project && cd my-project
git init

# 3. Make your first commit
echo "# My Project" > README.md
git add README.md
git commit -m "Initial commit"

# 4. Push to GitHub
git remote add origin git@github.com:donnyaw/my-project.git
git push -u origin main

Current Configuration

SettingValue
Usernamedonnyaw
Emaildonnyaw@gmail.com
SSH Key~/.ssh/github/id_ed25519 (ED25519)
Token~/.config/github/token (600 permissions)
Default Branchmain
Learning Path

New to Git? Follow sections 1 → 5 in order for a complete foundation. Then explore sections 7–9 based on your needs.