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.