Git & GitHub
Git fundamentals, branching, collaboration, and GitHub workflows from scratch.
- What is Git? — Why version control exists, what Git solves, and what happens without it.
- Repository, Working Tree, Staging Area and Commit — The core Git mental model: where changes live before they become history.
- Installing and Configuring Git — Set name, email, editor, default branch, and authentication basics.
- Daily Git Workflow — The commands used in normal development: status, add, commit, log, diff, and restore.
- git status, diff, add and commit — See changes, choose what to save, and create meaningful commits.
- Reading Git History — Use log, show, blame, and diff to understand how code changed.
- Undoing Changes Safely — Restore files, amend commits, revert bad commits, and know when reset is risky.
- Ignoring Files with .gitignore — Keep dependencies, secrets, builds, and local files out of Git.
- Branches and Merging — Work on isolated lines of development and combine changes safely.
- Merge vs Rebase — Two ways to integrate branch work and when each one makes sense.
- Merge Conflicts — Why conflicts happen and how to resolve them without panic.
- Stash and Temporary Work — Put unfinished work aside when you need to switch context.
- Remote Repositories — How local Git history connects to shared repositories through clone, fetch, pull, and push.
- Clone, Fetch, Pull and Push — Understand the commands that move commits between your machine and a remote.
- GitHub Basics — What GitHub adds on top of Git: hosting, issues, pull requests, reviews, and collaboration.
- Pull Requests and Code Review — Use PRs to discuss, review, test, and merge code as a team.
- Forks, Upstream and Open Source Workflow — Contribute to repositories you do not own using forks and upstream remotes.