Git Course 0%

What you will be able to do

Beginner Core Git ≈ 4 min

What you will learn

  • The five groups of skills the course builds
  • Which sections deliver each skill

After this lesson you can

  • I know what "done" looks like for my own learning
  • I can tick outcomes as I master them and see what is left

Why this matters

A course is easier to finish when you can see the finish line. This page is the finish line: every skill the course teaches, in plain words, with a box to tick. The boxes are saved in your browser, so you can come back and see what is left.

Foundations (Sections 1–2)

  • Explain what software development, source code, a project, a repository and a build are.
  • Open a terminal, move between folders, and run a command safely.
  • Read and write Markdown documentation.
  • Explain the developer workflow from requirement to production and name the roles involved.
  • Explain what Git is, why it exists, and how Git differs from GitLab and GitHub.
  • Explain the four areas (working tree → staging area → local repository → remote) and how a change moves through them.
  • Explain HEAD, commits, hashes, branches, refs, origin, upstream, tracking branches and detached HEAD.

Delivered by Software Development Fundamentals and The Git Mental Model.

Git basics (Sections 3–5)

  • Install and configure Git, including identity and the default branch.
  • Create, clone, modify and synchronize repositories.
  • Create, edit, move and delete files and folders safely inside a Git project, and use .gitignore.
  • Run the everyday cycle: status → diff → add → commit → fetch/pull → push, and explain what each step does.
  • Write a commit message a colleague can understand six months later.
  • Undo a change at each stage: unstaged, staged, committed.

Delivered by Installing & Configuring Git, Files & Folders in a Git Project and Everyday Git. Practice: Lab 1 and Lab 2.

Collaboration (Sections 6–7, 11–14)

  • Create, switch, rename, publish, update, compare, merge and delete branches, and explain what rebase does.
  • Explain feature, bug-fix, hotfix and release branches, main, and protected branches.
  • Work with a remote: clone, fetch, pull, push, and fix a rejected push.
  • Resolve merge and rebase conflicts in the terminal, VS Code, IntelliJ and the web UI.
  • Open, describe, review, approve and merge GitLab merge requests and GitHub pull requests.
  • Explain code review, approvals, squash, merge strategies, cherry-pick, tags and releases.
  • Explain CI/CD, read a pipeline, and know what to do when it fails.

Delivered by Branches, Remote Repositories, Merge Conflicts, Team Workflows and CI/CD. Practice: Lab 3 and Lab 4.

Platforms and tools (Sections 8–10, 15–17)

  • Navigate GitLab groups and projects and GitHub organizations and repositories; understand members, roles, permissions and visibility.
  • Use tokens, SSH keys, two-factor authentication and credential managers correctly.
  • Keep secrets out of Git, and respond correctly if a secret is committed.
  • Do every common Git task from VS Code and from IntelliJ IDEA, and explain which Git command the IDE ran.
  • Translate between GitLab and GitHub vocabulary.

Delivered by Authentication & Security, GitLab, GitHub, Git in VS Code, Git in IntelliJ IDEA and Side by Side.

Safety and recovery (Sections 12, 18)

  • Undo changes at every stage with restore, reset, revert, amend, stash and the reflog.
  • Recover deleted files, commits and branches, and recover from a failed merge or rebase.
  • Recognize dangerous operations (hard reset, force push, rewriting shared history) and their consequences.
  • Diagnose and fix the common errors: authentication, permission, rejected push, detached HEAD, wrong branch, wrong account.
  • Explain how Git stores data, and use hooks, signing and worktrees when a team needs them.

Delivered by Undo & Recovery and Expert Git. Practice: Lab 5 and Lab 6.