← Back to Tools
Git

Tool

Git

Version control for every serious codebase

Learn Git from your first commit to team workflows: staging, history, branches, merging and conflicts, GitHub remotes and pull requests, undoing changes, rebasing, stashing, tags, .gitignore, hooks, and CI/CD.

13

Chapters

27

Hours (estimated)

1

Self-paced

Part-time

About 9 weeks

1 hour a day, 3 days a week

Full-time

About 3 weeks

3 hours a day, 3 days a week

Estimated from 13 chapters (notes, practice, labs, quiz, exercise, and challenge) plus the final exam. Go at your own pace.

Curriculum

13 chapters, each with a tutorial, a live example, a quiz, an exercise, a challenge, and class practice.

  1. 1

    Introduction to Git

    Commits, the staging area, and history.

  2. 2

    Staging & Committing

    Starting a repository, tracking new files, git status, staging, and writing good commits.

  3. 3

    History & Help

    Reading history with git log, show, and diff, finding who changed a line, and getting help.

  4. 4

    Branching

    Why branches exist, creating and switching branches, listing, renaming, and deleting them.

  5. 5

    Merging & Conflicts

    Fast-forward and three-way merges, what causes conflicts, and how to resolve them.

  6. 6

    Remote Repositories & GitHub

    Remotes, SSH and HTTPS, connecting a repository to GitHub, and pushing, fetching, and pulling.

  7. 7

    Collaborating on GitHub

    Cloning and forking, pull requests and code review, the GitHub flow, GitHub Pages, and GUI clients.

  8. 8

    Undoing Changes

    Discarding edits, amending commits, reverting safely, resetting history, and recovering with reflog.

  9. 9

    Rebasing & Cherry-picking

    Replaying commits with rebase, interactive rebase, the golden rule, cherry-pick, and patches.

  10. 10

    Stashing

    Setting aside unfinished work with git stash, listing, applying, and dropping stashes.

  11. 11

    Tags & Releases

    Lightweight and annotated tags, semantic versioning, pushing tags, and GitHub releases.

  12. 12

    .gitignore, .gitattributes & LFS

    Ignoring files with .gitignore patterns, controlling line endings and diffs with .gitattributes, and large files with LFS.

  13. 13

    Advanced Git & Best Practices

    Hooks, CI/CD, submodules, signed commits, advanced remotes, and team best practices.

Start learning — it's free →

Git is free to study, self-paced. Pass the final exam to earn an optional Certificate of Completion for $40.