Category: Git

Git in CI/CD pipelines: from commit to automated deploy
A CI/CD pipeline starts with a git push. This lesson covers how to configure Git correctly in GitHub Actions and GitLab CI: shallow clones, caching, permissions, and the practices that actually make a difference.

git switch and git restore: the end of the all-purpose checkout
git checkout has been doing too many things for too long. git switch and git restore arrived in 2019 to fix that design. They've been stable for years — time to use them.

Git configuration and optimization: settings that actually matter
git config does a lot more than store your name and email. The right options cut daily friction, improve your diffs, and make Git behave the way you actually want it to.

Git LFS: managing large files without breaking your repository
Git was not designed for binary files that weigh hundreds of megabytes. Git LFS solves the problem by storing pointers in your repository and keeping the actual files elsewhere.

Git Worktrees: multiple working directories from a single repository
Work on multiple branches simultaneously without switching directories or stashing. Git worktree lets you have as many working environments as you need, all connected to the same repository.

Git hooks: automating what nobody remembers to do
Learn how Git hooks work, which ones actually matter, and how to share them with the team using Husky, pre-commit, or lefthook.

Git submodules: repositories inside repositories without losing your mind
Learn what Git submodules are, how to add, clone, update, and remove them, and when to avoid creating a tiny .gitmodules-shaped monster.

Pull Requests and code review: how to make your code easy to review
A Pull Request is not just the mechanism to merge code — it's a conversation. Learn to write PRs that people actually want to review and give feedback that builds instead of blocks.

GitHub Flow: the workflow for teams that ship continuously
GitHub Flow strips branching down to the essentials: one stable branch, short-lived feature branches, Pull Requests for review, and deploy after every merge.

Git Flow: a workflow for managing releases
Git Flow formalizes the branch prefixes you already know into a structured process: permanent main and develop branches, plus temporary branches for features, releases, and hotfixes.