Git & GitHub

Git & GitHub course — Prowid
Course duration
1 month / 8 lessons
Individual
Per month 160 AZN
Group
Per month 130 AZN
Paying for the full course in a group
15% discount
Installments
50/50
Subscription
from 30 AZN a month
Git is the version control system every programmer uses daily. In this course you will learn to work with the terminal, Git, and as part of a team on GitHub.

Enrollment for a new group is open — send a request to reserve your seat

Lessons are taught live in Azerbaijani and Russian.

Or study on your own in your personal account → with a subscription from 30 AZN a month

Course Curriculum

Terminal basics: files, folders, basic commands
Introduction to Git: repositories, commits, history
Branches and merging
Resolving conflicts, rebase and stash
Undoing changes: restore, revert, reset
GitHub: remote repositories, push, pull, clone
Teamwork: Pull Requests, code review, Issues
GitHub Actions: an introduction to CI
Portfolio: your GitHub profile and GitHub Pages
How do we teach?

Learning stages

01

Webinar

Students join the lesson live. At the end of each lesson, students are sent a video recording of the class.

02

Homework

Every assignment is based on the topic covered in the webinar. Homework helps you reinforce the material and understand it better.

03

Working with a mentor

The teacher stays in touch with the group both during the course and outside class. Any questions get answered right away.

04

Portfolio

During the course you'll complete several projects on different topics — they'll show employers what you can do.

Self-paced learning

The full curriculum in your personal account

103 topics with theory, examples and practice. The first 4 are free, the rest come with a subscription. Interactive lessons with slides and coding trainers: 91.

Introduction: Version Control, the Terminal and Installing Git7 topics
  1. What Version Control Is and Why Git
  2. The Terminal on Windows, macOS and Linux: First Steps
  3. Navigating the Terminal: pwd, cd, ls and Paths
  4. Files and Folders from the Terminal: mkdir, touch, cp, mv, rm
  5. Installing Git on Windows, macOS and Linux
  6. Initial Git Setup: git config
  7. Aliases, Line Endings and Useful Git Settings
Your First Repository: Git Basics9 topics
  1. git init: Creating Your First Repository
  2. git clone: Copying an Existing Repository
  3. Git's Three Areas: Working Tree, Index and Repository
  4. git add: Staging Changes
  5. git commit: Recording a Snapshot of the Project
  6. Good Commit Messages and Conventional Commits
  7. Removing and Renaming Files: git rm and git mv
  8. .gitignore: Files That Should Stay Out of Git
  9. Project: Your First Repository with a Meaningful History
History and Comparing Changes8 topics
  1. git log: Viewing Commit History
  2. Searching History: git log Filters
  3. Formatting History: --pretty, --format and git shortlog
  4. Referring to Commits: HEAD~, HEAD^ and git show
  5. git diff: What Exactly Changed
  6. Advanced git diff: --stat, --word-diff and difftool
  7. git blame: Who Changed a Line and When
  8. Project: Investigating the History of an Open-Source Repository
Undoing Changes5 topics
  1. Discarding Uncommitted Changes: git restore and git clean
  2. Fixing the Last Commit: git commit --amend
  3. git reset: --soft, --mixed and --hard Modes
  4. git revert: Safely Undoing Published Commits
  5. Project: Workshop "10 Emergency Situations"
Branches, Merging and Conflicts10 topics
  1. What a Branch Is: Pointers, HEAD and git branch
  2. Creating and Switching Branches: git switch
  3. Managing Branches: Renaming, Deleting, Cleaning Up
  4. Detached HEAD: Travelling to Old Commits
  5. git stash: Shelving Changes Temporarily
  6. Merging Branches: git merge and Fast-Forward
  7. Three-Way Merges and Merge Commits
  8. Merge Conflicts: Resolving Step by Step
  9. Conflict Tools: VS Code, mergetool, ours/theirs
  10. Project: Developing Features in Branches with Conflicts
Remote Repositories and GitHub10 topics
  1. Your GitHub Account and First Repository on the Site
  2. Accessing GitHub over HTTPS: Credential Manager and Tokens
  3. ed25519 SSH Keys for GitHub
  4. git remote: Connecting a Local Repository to GitHub
  5. git push and Upstream Branches
  6. git fetch and Remote-Tracking Branches (origin/*)
  7. git pull: Fetching and Integrating Changes
  8. README and Markdown on GitHub
  9. GitHub Pages: Publishing a Site from a Repository
  10. Project: A GitHub Portfolio and a Site on GitHub Pages
Teamwork on GitHub8 topics
  1. Forks and Syncing with Upstream
  2. Pull Requests: Proposing Changes
  3. Code Review on GitHub
  4. Merging Pull Requests: Merge, Squash and Rebase
  5. Issues, Labels and Milestones
  6. GitHub Projects: Planning Team Work
  7. GitHub CLI: gh in the Terminal
  8. Project: Team Development with Pull Requests
Rebase and Rewriting History8 topics
  1. git rebase: Moving a Branch onto a New Base
  2. Conflicts During Rebase: --continue, --skip, --abort
  3. pull --rebase and Safe Force Pushing
  4. Interactive Rebase: reword, drop and Reordering
  5. Squash, fixup and --autosquash
  6. Rebase: edit, Splitting Commits and exec
  7. git cherry-pick: Copying Individual Commits
  8. Project: Cleaning Up a Messy History
Workflows, Releases and Branch Protection8 topics
  1. GitHub Flow: A Simple Team Workflow
  2. Git Flow: develop, release and hotfix Branches
  3. Trunk-Based Development and Feature Flags
  4. Tags and Semantic Versioning
  5. GitHub Releases and CHANGELOG
  6. Protecting Branches: Rulesets and Branch Protection
  7. CODEOWNERS: Owners of the Code
  8. Project: Setting Up a Team Repository and Shipping a Release
GitHub Actions: CI/CD10 topics
  1. GitHub Actions: What CI/CD Is and Your First Workflow
  2. Workflow Triggers: push, pull_request, schedule, workflow_dispatch
  3. Jobs, Steps, Contexts and Expressions
  4. Secrets, Variables and Environments in Actions
  5. Matrix Builds: strategy.matrix
  6. Caching and Artifacts in Actions
  7. CI for a Project: Tests and Linters on Every Pull Request
  8. CD: Automatic Deployment with GitHub Actions
  9. Marketplace, Reusable Workflows and Action Security
  10. Project: A CI/CD Pipeline for a Web Project
Advanced Git Tools8 topics
  1. git reflog: Recovering Lost Work
  2. git bisect: Finding the Commit That Broke the Code
  3. git worktree: Multiple Working Trees for One Repository
  4. Git Hooks: Automatic Checks on Commit and Push
  5. Husky, lint-staged and commitlint in a JavaScript Project
  6. Git Submodules: A Repository Inside a Repository
  7. Git LFS: Large Binary Files
  8. Signing Commits: SSH, GPG and the Verified Badge
Git Internals and Large Repositories5 topics
  1. Git Objects: blob, tree, commit and tag
  2. Refs, HEAD and Refspecs from the Inside
  3. Packfiles, Delta Compression and Garbage Collection
  4. Large Repositories: Shallow and Partial Clones, sparse-checkout, maintenance
  5. Project: Building a Commit by Hand with Plumbing Commands
Professional Practice and Open Source7 topics
  1. Security on GitHub: Dependabot, Secret Scanning and Code Scanning
  2. Git in VS Code: Source Control, Timeline and Extensions
  3. GUI Clients, github.dev and Codespaces
  4. Git Etiquette in a Team
  5. Contributing to Open Source: From Choosing a Project to a Merged PR
  6. Project: A Real Contribution to an Open-Source Repository
  7. Final Project: A Team Product with a Complete Git Workflow

Group and individual classes include a teacher, homework review and a certificate. The subscription gives you materials, exercises and progress tracking at your own pace, without teacher feedback.

Git & GitHub course: how to enroll

Fill in the form and we will tell you the start date of the next group, the schedule and payment terms. Or come to a free trial lesson first.

WhatsApp